De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Verificação dos argumentos em shell scripts
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 28 de Maio de 1997
É fundamental que todo shell script verifique, antes de realizar qualquer
ação, que o número correto de argumentos foi fornecido por quem invoca o
programa:
#!/bin/bash
if [ $# -ne 3 ]; then
echo 1>&2 Sintaxe: $0 a b c
exit 999
fi
O script acima requer três argumentos que, se não forem fornecidos, impedem a
execução do programa e seta o código de retorno com o valor 999. Normalmente
um código de retorno diferente de zero indica a ocorrência de um erro.
Outro exemplo, o programa tiraacento, já veiculado nesta lista:
#!/bin/bash
MACROS=/home/queiroz/bin
infile=$1
outfile=$2
# Neste ponto verifica-se se o número
# de argumentos fornecido foi igual a
# dois. Caso contrário, é escrito na
# tela uma mensagem indicando a sintaxe
# correta, atribuindo-se o valor 1 ao
# código de saída
if [ $# -ne 2 ]; then
echo 1>&2 Sintaxe: $0 arquivo_entrada arquivo_saida
exit 1
# Caso o número de argumentos esteja
# correto, executa-se então o programa
else
if [ -f $infile ]; then
# A função deste if é verificar se o
# arquivo de entrada existe Caso exista,
# então é executado o comando, caso
# contrário, o processamento é encerrado
# com uma mensagem de erro e ao código
# de saída é atribuído o valor 1.
sed -f $MACROS/tiraacento.sed $infile > $outfile
else
# Nunca se esqueça do aviso de erro. Caso
# contrário o usuário do programa pode
# pensar que tudo deu certo.
echo "$infile não existe!!! "
exit 1
fi
fi