Só para esclarecer, a Dica do dia
surgiu devido o pouco tempo que estou tendo para escrever um post, com isso
consigo alimentar o blog com dicas interessantes e úteis.
Shell Script nada mais é do que utilizar diversos comandos
do sistema utilizando estruturas de controle e comandos fornecidos pela shell a
fim de automatizar tarefas cotidianas. Conhecer bem as estruturas de controle
da shell é muito importante. Na Dica do dia será feito um breve resumo do
funcionamento de algumas dessas estruturas, entretanto, sugere-se fortemente a
leitura do manual da bash (man bash).
Para que possamos utilizar bem as ferramentas fornecidas
pela nossa shell preferida, precisamos saber como funciona um comando no
GNU/Linux. Sendo assim, a figura abaixo mostra a “anatomia” de um comando:
Todo
comando em um sistema Unix-like tem uma entrada padrão (StdIn), uma saída padrão
(StdOut) e uma saída de erro (StdErr), além de um valor de retorno. A entrada padrão de um comando pode ser, por exemplo, um
arquivo que ele irá processar, como no comando:
#
grep bash /etc/passwd
No qual o arquivo /etc/passwd é o arquivo de StdIn. Já a saída
padrão desse comando é a tela, pois é nela que o resultado será apresentado.
Caso ocorra algum erro durante a execução desse programa uma mensagem será
enviada a saída de erro que, por padrão, joga a informação também para a tela.
Uma forma de descobrir se o último comando executado
terminou com sucesso ou falhou ao ser executado é verificando o valor que ele
retornou e que fica armazenado na variável $?. Se o valor retornado foi 0, então
o comando foi executado com sucesso, caso contrário, houve algum erro durante a
execução e o número retornado pode ser utilizado para determinar qual erro
ocorreu.
Conhecendo como um comando funciona, podemos utilizar
operadores a fim de alterar as entradas e saídas dos comandos. Os operadores
mais utilizados são:
• ; separa
um comando do outro;
• | transforma
o StdOut de um comando em StdIn para outro;
• >
redireciona a StdOut para um arquivo, criando-o ou sobrescrevendo seu conteúdo
caso ele exista;
• >>
redireciona a StdOut para um arquivo adicionando o conteúdo ao final dele;
• <
joga o conteúdo de um arquivo para o StdIn;
• 2>&1
transforma a StdErr em StdOut;
• 2>
redireciona a StdErr para um arquivo;
• || operador
“ou”, testa o valor da variável $?;
• &&
operador “e”, testa o valor da variável $?.
Fonte: Internet (ctrl+c / ctrl+v)
Nenhum comentário:
Postar um comentário