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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rubens Queiroz de Almeida