#! / bin / bash -e :: o que é `-e`? outros argumentos?

9

Eu sou um codificador de script de shell que sempre opta por usar o shell como de nível superior como parte do meu cinto na criação de aplicativos de sites em tempo real e confiava nos meus scripts de bash se quiser que um projeto seja implementado RÁPIDO.

Todos sabemos que sempre usamos #!/bin/bashcomo regra geral a primeira linha de script, como sempre. Eu criei o hábito de fechar o script exit 0todas as vezes para qualquer script que vem com ele #!/bin/bash.

Recentemente me deparei com este script e ficou intrigado e tentou encontrar exatamente o que é que isto é: #!/bin/bash -e. "Que diabos - tem também -e?!" foi a minha reação. Uma visão seria apreciada programaticamente. :)

Faron
fonte
Pelo que vale, "todos nós" nem sempre "usamos" /bin/bash. Você está abordando um mundo que usa uma grande variedade de intérpretes de script, desde Python e Perl até o Almquist Shell e o Korn Shell /usr/bin/make -f.
JdeBP
Heh ... Estou corrigido neste caso, @JdeBP. :)
Faron 27/03

Respostas:

8

http://www.gnu.org/software/bash/manual/bashref.html#Invoking-Bash
http://www.gnu.org/software/bash/manual/bashref.html#The-Set-Builtin

-e

Saia imediatamente se um pipeline [...] retornar um status diferente de zero.

Muitos detalhes foram esclarecidos, então leia esse manual.

Um exemplo:

#!/bin/bash
set -e   # same as putting -e in the shebang
( exit 42 )
echo "you won't see this:
Glenn Jackman
fonte
Obteve mais informações a partir desse link! Agora eu via oportunidades para simplificar o restante dos meus scripts. Sorrir de orelha a orelha. Obrigado.
Faron