Para muitos usuários que estão iniciando em programação, uma das principais dores de cabeça é descobrir erros que ocorrem em seus programas, eu mesmo já passei por isso e sei o quanto é chato ver aquele seu primeiro programa feito com muito esforço e dedicação não funcionar de jeito nenhum.
Em virtude disso, resolvi escrever este simples artigo cujo intuito é dar uma força àqueles que estão começando a programar em
shell script, seja ele sh, csh (tcsh), bash, ksh ou zsh.
Descobrindo erros
Todos os interpretadores de comando que foram citados no início do artigo fornecem opções para debugar as linhas de entrada que lhes são fornecidas, e essas opções são comuns a todos eles. São elas:
- -v: Mostra a linha de entrada que está sendo lida pelo shell.
- -x: Mostra as variáveis já substituídas, comandos e seus argumentos no momento de sua execução.
Vejamos alguns exemplos:
Crie um simples script com o seguinte conteúdo:
#!/bin/sh -v
echo "Olá mundo\!"
exit $?
Execute-o e note que ao utilizar a opção -v o interpretador imprime na tela a linha que esta sendo lida e prossegue normalmente com sua execução. Agora no mesmo script, vamos substituir o -v pela opção -x.
Note agora que a opção -x possui basicamente o mesmo comportamento da opção -v, exceto pelo fato de que os todos os comandos são marcados com um sinal de '+' e que as variáveis são substituídas pelos seus respectivos valores. Caso queira um modo debug completo, utilize as duas opções juntas (-vx).
Com isso é possível notar que fica muito mais fácil procurar por possíveis erros em nossos scripts, sejam eles causados por substituição de variáveis ou comandos com sintaxe incorreta.