--- Em [email protected], "Tiago Barcellos Peczenyj"
<[EMAIL PROTECTED]> escreveu
>
> ferrari
> 
> o ponto e virgula serve para vc separar 2 instruções na mesma linha
> 
> ls ; mv a b
> 
> por exemplo, eu gosto de fazer
> 
> if [ condição ] ; then
>       comandos
> else
>       outros comandos
> fi
> 
> acho mais legível. perceba que o ; separa o if do then na mesma linha.
> 
> é a forma como o if, o for, o while/until foram concebidos.
> 
> []´s Tiago

Tiago, muito obrigado pela luz.

Desculpem-me pela dúvida tão básica, mas eu estava racionando pela
lógica de algumas linguagens, como o pascal, que não reconhecem quebra
 de linha e exigem terminadores.

Já li bastante sobre o shell script, mas nunca me ative ao fato que a
sintaxe destes comandos exigia a quebra de linha. Eu estava
raciocioando que se o script executa comandos em lote, e no shell cada
comando ocupa uma linha, o if também deveria ocupar uma única linha,
do if ao fi e que, neste caso, as quebras de linhas seriam  ignoradas
e substituídas por um terminador (o ;). Justamente ao contrário.

Grato mesmo pela explicação.


Responder a