Shell Script Profissional

Shell Script Profissional
× Shell Script Profissional

Shell Script Profissional

VER AMOSTRA

Autor:

ISBN impresso: 978-85-7522-152-5
ISBN ebook: 978-85-7522-576-9
Ano: 2008
Páginas: 480
Preço impresso: R$ 109,00 O ebook deste livro está disponível na Amazon.

124 opiniões | Opine sobre este livro

Descrição do livro

"Fui mexer num script e levei horas para me achar nele. Estava uma bagunça, tudo amontoado, feio mesmo. Não tinha um único comentário para me ajudar. Os nomes de variáveis então? Era $a, $b, $tm, $cs... O que é um cs? É um caos, isso sim."

Você já passou por algo parecido? O inesquecível pesadelo de dar manutenção em um script mal feito. É tanto tempo perdido tentando achar o ponto certo, que às vezes o melhor é rescrever tudo.

O livro Shell Script Profissional ensina a fazer programas de qualidade em shell, com ênfase em código legível, portabilidade e manutenção futura. Melhore seus scripts, adicionando opções de linha de comando, arquivo de configuração, banco de dados e interface amigável ao usuário. Use a internet para rodar seu CGI. Domine as ferramentas do sistema, as expressões regulares e os caracteres de controle.


Indicado para administradores de sistemas, programadores, analistas, estudantes e usuários avançados. Indispensável para quem quer dominar o assunto. Os ensinamentos poderão ser usados em diversos sistemas, incluindo Unix, Linux, Mac e Windows.

Saiba mais em www.shellscript.com.br. Ver menos ▲

Sumário

Sumário

  • Agradecimentos
  • Sobre o autor
  • Prefácio
  • Capítulo 1  Programas sim, scripts não
    • O que é um script?
    • O que é um programa?
    • Por que programar em shell?
    • Programar em shell é diferente!
  • Capítulo 2  Controle de qualidade
    • Cabeçalho inicial
    • Código limpo
    • Código comentado
      • TODO, FIXME e XXX
      • Como comentar bem
    • Variáveis padronizadas
    • Funções funcionais
    • Versionamento
    • Histórico de mudanças
      • Changelog
      • NEWS
    • Agradecimentos
  • Capítulo 3  Chaves (flags)
    • Como usar chaves
    • Faça chaves robustas
    • Chaves para configuração do usuário
    • Detalhes sobre o uso de chaves
  • Capítulo 4  Opções de linha de comando (-f, --foo)
    • O formato “padrão” para as opções
    • Opções clássicas para usar em seu programa
    • Como adicionar opções a um programa
      • Adicionando as opções -h, -V, --help e --version
      • Adicionando opções específicas do programa
      • Adicionando opções com argumentos
    • Como (e quando) usar o getopts
  • Capítulo 5  Depuração (debug)
    • Verificação de sintaxe (-n)
    • Debug simples (echo)
    • Debug global (-x, -v)
    • Debug setorizado (liga/desliga)
    • Execução passo a passo
    • Debug personalizado
    • Debug categorizado
  • Capítulo 6  Caracteres de controle
    • Mostrando cores na tela
    • Posicionando o cursor
    • Comandos de som
    • Outros comandos
    • Exemplos
  • Capítulo 7  Expressões regulares
    • O que são expressões regulares
    • Metacaracteres
    • Conhecendo cada um dos metacaracteres
      • O circunflexo ^
      • O cifrão $
      • A lista [ ]
      • O ponto
      • As chaves { }
      • O curinga .* (AND)
      • O ou | (OR)
      • Os outros repetidores * + ?
    • Detalhes, detalhes, detalhes
  • Capítulo 8  Extração de dados da Internet
    • Parsing de código HTML, XML e semelhantes
      • Como remover todas as tags (curinga guloso)
      • Como extrair links (URL)
    • Extração de manchetes da Internet
      • Extraindo manchetes do texto
      • Extraindo manchetes do código HTML
      • Extraindo manchetes do Feed XML
    • Feeds RSS/Atom – Uma solução genérica
  • Capítulo 9  Arquivos de configuração
    • Tour pelos formatos já existentes
      • Palavra-chave, brancos, valor
      • Palavra-chave, brancos, valor opcional
      • Palavra-chave, igual, valor opcional
      • Palavra-chave, igual, valor
      • Palavra-chave, dois-pontos, valor
      • Palavra-chave, arroba opcional
      • Componente, igual, valor numérico
      • Comando, brancos, palavra-chave, brancos, valor
      • Comando, brancos, palavra-chave, brancos, igual, valor
      • Código Lisp
    • Qual vai ser o seu formato?
      • O denominador comum
      • Especificação do formato
    • Codificação do parser
      • Parser passo a passo
      • Melhorias no parser
    • Evolução para um parser genérico
      • Características de um parser genérico
      • Parser do tipo conversor
      • Integrando os programas
      • Considerações de segurança
      • Parser mais robusto e seguro
  • Capítulo 10  Banco de dados com arquivos texto
    • Quando utilizar bancos textuais
    • Definindo o formato do arquivo
      • Formato CSV simplificado
      • A chave primária
    • Gerenciador do banco
      • Agora o shell entra na conversa
      • Codificação do gerenciador
      • Bantex, o gerenciador do banco textual
      • Zuser, o aplicativo que usa o banco
  • Capítulo 11  Interfaces amigáveis com o Dialog
    • Apresentação rápida do Dialog
    • Zuserd, o Zuser com interface amigável
    • Zuserd melhorado
    • Pense no usuário
    • Domine o Dialog
      • Exemplos de todas as janelas
        • Calendar
        • Checklist
        • Fselect
        • Gauge
        • Infobox
        • Inputbox
        • Menu
        • Msgbox
        • Passwordbox
        • Radiolist
        • Tailbox, Tailboxbg
        • Textbox
        • Timebox
        • Yesno
      • Opções de linha de comando
        • Opções para definir os textos da caixa
        • Opções para fazer ajustes no texto da caixa
        • Opções para fazer ajustes na caixa
        • Opções relativas aos dados informados pelo usuário
        • Outras opções
        • Opções que devem ser usadas sozinhas na linha de comando
      • Parâmetros obrigatórios da linha de comando
      • Respostas e ações do usuário
      • Tipos de navegação entre telas
        • Menu amarrado (em loop)
        • Telas encadeadas (navegação sem volta)
        • Navegação completa (ida e volta)
      • Configuração das cores das caixas
    • Dialog na interface gráfica (X11)
  • Capítulo 12  Programação Web (CGI)
    • Vantagens e desvantagens do CGI em Shell
    • Preparação do ambiente CGI
      • Configuração do Apache
    • O primeiro CGI
      • ...deve ser um executável
      • ...deve ser executável pelo Apache
      • ...deve informar o tipo do conteúdo (Content-type)
      • Testando no navegador
      • E não é que funciona?
    • CGI gerando uma página HTML
      • Introdução ao HTML
      • Agora o CGI entra na brincadeira
      • Transforme um programa normal em CGI
      • Use modelos (Templates)
    • Formulários, a interação com o usuário
      • Etiquetas (tags) usadas em formulários
      • O primeiro formulário
      • A famigerada tripa
      • A tripa não é assim tão simples (urldecode)
    • Mais alguns segredos revelados
      • Variáveis especiais do ambiente CGI
      • STDIN, STDOUT e STDERR
      • Como depurar CGIs (Debug)
      • Como testar CGIs na linha de comando
      • Considerações de segurança
  • Capítulo 13  Dicas preciosas
    • Evite o bash2, bash3, bashN
    • Sempre use aspas
    • Cuide com variáveis vazias
    • Evite o eval
    • Use && e || para comandos curtos
    • Prefira o $(...) ao `...`
    • Evite o uso inútil do ls
    • Evite o uso inútil do cat
    • Evite a pegadinha do while
    • Cuidado com o IFS
    • Leia man pages de outros sistemas
    • Aprenda lendo códigos
    • Faça uso minimalista das ferramentas
  • Apêndice A  Shell básico
    • Apresentação
      • O que é o shell
      • Shell script
      • Antes de começar
    • O primeiro shell script
      • Passos para criar um shell script
      • Problemas na execução do script
        • Comando não encontrado
        • Permissão negada
        • Erro de sintaxe
    • O primeiro shell script (melhorado)
      • Melhorar a saída na tela
      • Interagir com o usuário
      • Melhorar o código do script
    • Rebobinando a fita
      • Variáveis
      • Detalhes sobre os comandos
      • O comando test
      • Tarefa: script que testa arquivos
    • Conceitos mais avançados
      • Recebimento de opções e parâmetros
      • Expressões aritméticas
      • If, for e while
    • Exercícios
    • Respostas dos exercícios
  • Apêndice B  Shell no Linux, Mac e Windows
    • Shell no Linux
      • Instalação
      • Execução
      • Compatibilidade
    • Shell no Mac
      • Instalação
      • Execução
      • Compatibilidade
      • tac
      • seq
      • dialog
    • Shell no Windows
      • Instalação
      • Execução
      • Compatibilidade
      • Arquivos e diretórios
      • Editor de textos
      • Acentuação
      • dialog
  • Apêndice C  Análise das Funções ZZ
    • Cabeçalho informativo
    • Configuração facilitada
    • Processo de inicialização
    • zztool – Uma minibiblioteca
    • zzajuda – Reaproveitamento dos comentários
    • zzzz – Multiuso
    • zzminusculas, zzmaiusculas – Um único sed
    • zzuniq – Filtros espertos
    • zzsenha – Firewall e $RANDOM
    • zztrocaarquivos – Manipulação de arquivos
    • zzbyte – Complicada, porém comentada
    • zzss – Caracteres de controle
    • zzhora – Festa dos builtins
    • zzcpf – Cálculo do CPF
    • zzcalculaip – Parece fácil
    • zzarrumanome – Função ou programa?
    • zzipinternet – Dados da Internet
    • zzramones – Cache local
    • zzloteria – Cache temporário em variável
    • zzgoogle – Quebras de linha no sed
    • zznoticiaslinux – Baixar notícias
    • zzdolar – Magia negra com sed
    • Funções do usuário (extras)
    • Chamada pelo executável
  • Apêndice D  Caixa de ferramentas
    • cat
    • cut
    • date
    • diff
    • echo
    • find
    • fmt
    • grep
    • head
    • od
    • paste
    • printf
    • rev
    • sed
    • seq
    • sort
    • tac
    • tail
    • tee
    • tr
    • uniq
    • wc
    • xargs
  • Apêndice E  Canivete Suíço
    • Operadores
    • Redirecionamento
    • Variáveis especiais
    • Expansão de variáveis
    • Blocos e agrupamentos
    • Opções do comando test
    • Escapes do prompt (PS1)
    • Escapes do comando echo
    • Formatadores do comando date
    • Formatadores do comando printf
    • Letras do comando ls -l
    • Curingas para nomes de arquivo (glob)
    • Curingas para o comando case
    • Metacaracteres nos aplicativos
    • Sinais para usar com trap/kill/killall
    • Códigos de retorno de comandos
    • Códigos de cores (ANSI)
    • Metacaracteres das expressões regulares
    • Atalhos da linha de comando (set -o emacs)
    • Caracteres ASCII imprimíveis (ISO-8859-1)
    • If, For, Select, While, Until, Case
    • Códigos prontos
  • Mensagem final
  • Índice remissivo
Ver sumário completo ▼

Opinião dos leitores

Rafael M B

Livro com didatica excelente muitos exemplos bem explicativo de como fazer script do zero parabens ao autor.

Ciro P

Super Show !!! Livro excelente!! Uso direto!! Abraço

Athos A L

Gostei muito do livro, é um livro divertido, com ele pude fazer muitas coisas, espero mais livros como esse. Gostei muito do autor.

Nilo C T

Excelente livro! O esclarecimento inicial de que o uso de colchetes na verdade é um apelido para o comando test já valeria a leitura, mas esse livro consegue desmistificar muitos outros conceitos. Em particular o capítulo das funçõeszz, quando ensina a calcular endereços de rede e de broadcast em seu fonte, é muito bom! O tom do livro é muito motivante, quase um "coachelheiro" (rs) e até a última frase do livro (literalmente) é inventivo. Parabéns Aurelio! Obrigado por compartilhar esse conhecimento.

Ver todas ▼