[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Duvida - Exemplo do livro do Julio Cezar Neves
From: |
Alexandre de Abreu |
Subject: |
Re: [shell-script] Duvida - Exemplo do livro do Julio Cezar Neves |
Date: |
Thu, 19 May 2005 15:40:59 -0300 |
Olá Renato,
Você poderia ter enviado o email direcionado ao Julio, acho que ele
participa da lista ;)
De qualquer forma, seguem respostas/comentários abaixo.
> 1 #!/bin;bash
> 2 #
> 3 # Vira - vi resguardando arquivo anterior
> 4 #
> 5
> 6 if [ "$#" -ne 1 ]
> 7 then
> 8 echo "Erro -> Uso: $0 <arquivo>"
> 9 exit 1
> 10 fi
> 11
> 12 Arq=$1
> 13 if [ ! -f "$Arq" ] # O arquivo não existe; logo como salva-lo?
> 14 then
> 15 vi $Arq
> 16 exit 0
> 17 fi
> 18
> 19 if [ ! -w "$Arq" ] # Sera que tenho permissao de gravacao no
> arquivo?
> 20 then
> 21 echo "Nao perca seu tempo, voce nao conseguira
> sobregraver $Arq"
> 22 exit 2
> 23 fi
> 24
> 25 cp $Arq $Arq~
> 26 vi $Arq
> 27 exit 0
>
>
> 1° duvida
> linha 6 - o que faz o "$#" ?? -ne é se o valor dele for diferente de 1
> correto?? mas para que esse teste??
A variável "$#" armezana o número de argumentos passados ao script.
Logo o teste da linha 6 retorna falso caso esse valor seja
diferente(-ne, not equals) a 1.
> 2° duvida
> linhas 9, 16, 22 e 27 - qual a diferença entre os exit?? exit 0, exit 1,
> exit 2 ??? tem outros exit???
O comando exit serve para finalizar a execução do script. Ao finalizar
a execução do script, você pode determinar um "status de saída" ou
código de erro. Por padrão, scripts Unix finalizam com status igual a
1 imediatamente após um erro ou comportamento inesperado. Já quando
tudo ocorre corretamente e como esperado, o padrão é sair com status
igual a 0.
Qualquer dúvida, manda ai.
--
Alexandre de Abreu
GCUX, RHCE, LPIC-2