#! / bin / bash -e :: was ist "-e"? andere argumente?


7

Ich bin ein Shellskriptcodierer, der sich immer dazu entschließt, Shell als Toplevel für die Erstellung von Website-Apps zu verwenden, und habe mich auf meine Bash-Skripts verlassen, wenn ich möchte, dass ein Projekt FAST implementiert wird.

Wir alle wissen, dass wir immer verwenden #!/bin/bash als Faustregel für die erste Zeile des Skripts wie immer. Ich machte es mir zur Gewohnheit, das Skript mit abzuschließen exit 0 ... jedes Mal für jedes Skript, das mitgeliefert wird #!/bin/bash.

Erst kürzlich bin ich auf dieses Skript gestoßen und habe verwirrt und versucht herauszufinden, was genau das ist: #!/bin/bash -e. "Was zum Teufel - da ist auch -e ?! "war meine Reaktion. Eine Einsicht würde programmatisch gewürdigt. :)


Für das, was es wert ist, "verwenden wir alle" nicht "immer" /bin/bash. Sie sprechen eine Welt an, die eine ganze Reihe von Skriptinterpreten verwendet, von Python und Perl über die Almquist-Shell und die Korn-Shell bis zu /usr/bin/make -f.
JdeBP

Heh ... Ich stehe auf diesem hier, @JdeBP. :)
Faron

Antworten:


7

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

-e

Sofort beenden, wenn eine Pipeline [...] einen Nicht-Null-Status zurückgibt.

Viele Details wurden entfernt, lesen Sie also dieses Handbuch.

Ein Beispiel:

#!/bin/bash
set -e   # same as putting -e in the shebang
( exit 42 )
echo "you won't see this:

Erhielt mehr Einblick von diesem Link! Jetzt sah ich Möglichkeiten, den Rest meiner Skripte zu vereinfachen. Grin-ohr-zu-ohr Vielen Dank.
Faron
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.