GNU / LINUX bash에서 쉘 스크립팅과 관련하여 필요한 도움말 :
나는 항상 사용 set -e
합니다. 종종, 나는 싶습니다 grep
항상 경우 스크립트가 실행을 종료하지 않으려는 grep
종료 상태가 1
발견되지 패턴을 표시합니다.
이 문제를 해결하기 위해 시도한 내용은 다음과 같습니다.
(I 시도)
하는 경우 set +o pipefail
와 같은 뭔가 그렙 호출 grep 'p' | wc -l
미래 메인테이너가 가능하게 될 때까지 내가 원하는 동작을 얻을 pipefail
. 또한 활성화하는 pipefail
것이 좋기 때문에 작동하지 않습니다.
(II를보십시오)
를 사용 sed
하거나 awk
만 패턴, 다음 일치하는 라인을 인쇄 wc
일치하는 패턴 테스트에 일치하는 라인을. sed
to를 사용 하면 grep
내 진정한 문제에 대한 해결 방법처럼 보이기 때문에이 옵션이 마음에 들지 않습니다 .
(III 시도)
이것은 내가 가장 좋아하는 것입니다.set +e; grep 'p'; set-e
모든 통찰력 / 관용구가 가장 높이 평가됩니다. 감사합니다.