[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] EOF ??
From: |
Tiago Peczenyj |
Subject: |
Re: [shell-script] EOF ?? |
Date: |
Tue, 10 Jan 2012 14:40:06 -0200 |
EOF é uma marcação de fim de string multilinha.
por exemplo, vc poderia fazer
(echo "linha1"; echo "linha2" ; echo "linha3" )| programa
OU
programa << EOF
linha1
linha2
linha3
EOF
Agora vem uma pegadinha: na primeira forma o programa roda em um subshell
pois está do outro lado do pipe. vc poderia resolver assim:
programa < <(echo "linha1"; echo "linha2" ; echo "linha3")
mas o uso de EOF torna um pouco mais legivel
E, nesse caso, o programa roda de forma que na proxima execução vc pode
consultar o valor o valor da variavel $? -- da outra forma vc precisa ver
e o que tem nessa variavel? é o retorno do comando ao sistema operacional.
existe uma convenção de que se o programa retornar 0 é sinal de sucesso.
nesse caso o if explicito é algo como isso
comando && echo "sucesso"
ou
comando || echo "fracasso"
um exemplo comum é
mkdir diretorio && cd diretorio || echo "falha ao criar diretorio"
espero ter elucidado algumas coisas. vc precisa ver no manual do sqlplus em
que momentos que ele retornar algo diferente de zero para o sistema
operacional e qual o significado.
att
Tiago
2012/1/10 Leonardo B. Abrantes <address@hidden>
> **
>
>
> Boa tarde pessoal,tudo bem?
>
> Estou precisando modificar um script que tem o seguinte código:
>
> sqlplus /nolog << eof
> ...
> ...
> ...
> exit
> eof
> if [ $? -eq 0 ]
>
> 1) não estou entendendo a funcionalidade do eof nesse código
> 2) quando testo a saída do comando do último comando executado ($? -eq 0),
> nesse caso estou testando tudo que está entre eof e exit, ou seja, o
> resultado de um bloco de comandos ?
>
> Alguém poderia me dar uma dica por favor ?
>
> obrigado!
>
> []'s
> leo
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
--
Tiago B. Peczenyj
Linux User #405772
http://pacman.blog.br
[As partes desta mensagem que não continham texto foram removidas]
- EOF ??, Leonardo B. Abrantes, 2012/01/10
- Re: [shell-script] EOF ??,
Tiago Peczenyj <=