Erforderliche Hilfe - im Kontext von Shell-Skripten auf einer GNU / LINUX-Bash:
Ich benutze immer set -e
. Oft möchte ich mag grep
und nicht immer die Skriptausführung beenden wollen , wenn grep
ein Exit - Status hat 1
angibt Muster nicht gefunden.
Ich habe Folgendes versucht, um dieses Problem zu lösen:
(Versuch ich)
Wenn set +o pipefail
und grep mit so etwas aufrufen, grep 'p' | wc -l
bekomme ich das gewünschte Verhalten, bis ein zukünftiger Betreuer es ermöglicht pipefail
. Außerdem aktiviere ich gerne, pipefail
sodass dies bei mir nicht funktioniert.
(Versuchen Sie es mit II)
Verwenden Sie ein sed
oder awk
und drucken Sie nur Linien, die mit dem Muster wc
übereinstimmen, und prüfen Sie dann mit den übereinstimmenden Linien, ob das Muster übereinstimmt. Diese Option gefällt mir nicht, weil die Verwendung von sed
to grep
als Problemumgehung für mein wahres Problem erscheint.
(Versuchen Sie es mit III)
Dies ist meine am wenigsten beliebte - so etwas wie:set +e; grep 'p'; set-e
Alle Einsichten / Redewendungen wären sehr dankbar - danke.
make
da es nicht immer bei Fehlern beendet wurde. Für die entsprechenden POSIX-Diskussionen können Sie austingroupbugs.net