Wymagana pomoc - w kontekście skryptów powłoki w bash GNU / LINUX:
Zawsze używam set -e. Często chciałbym grepi nie zawsze chcę, aby skrypt zakończył wykonywanie, jeśli grepma status wyjścia 1wskazujący, że wzorzec nie został znaleziony.
Rozwiązania tego problemu próbowałem rozwiązać w następujący sposób:
(Spróbuj I)
Jeśli set +o pipefaili wywołam grep z czymś takim grep 'p' | wc -l, otrzymam pożądane zachowanie, dopóki przyszły opiekun nie włączy pipefail. Lubię też włączać, pipefailwięc to nie działa dla mnie.
(Wypróbuj II)
Użyj sedlub awki tylko wypisz linie pasujące do wzoru, a następnie wcpasujące linie, aby przetestować pasujący wzór. Nie podoba mi się ta opcja, ponieważ używanie seddo grepwydaje się obejściem mojego prawdziwego problemu.
(Spróbuj III)
Ten jest moim najmniej ulubionym - coś w stylu:set +e; grep 'p'; set-e
Każdy wgląd / idiomy będą mile widziane - dziękuję.