이 스크립트는 "after"를 반향하지 않습니다.
#!/bin/bash -e
echo "before"
echo "anything" | grep e # it would if I searched for 'y' instead
echo "after"
exit
또한 -e
shebang 행 에서 옵션을 제거 하면 오류가있을 때 스크립트가 중지되도록 유지하고 싶습니다. grep이 일치하지 않는 것을 오류로 간주하지 않습니다. 갑작스럽게 종료되지 않도록하려면 어떻게해야합니까?
var=$(complex command | grep complex_pattern)
이 null 일 수 있는 내용을 분석하고 있기 때문에 어느 쪽이든주의를 기울입니다 (이 경우 프로그램이 종료되지 않아야 함). 이것은 문제가 발생하는 정리 된 스크립트입니다. 논리에 형이상학 적 블랙홀이 없습니다. ;)
-e
당신이 돌보는 것을 전제로하는 것처럼 보일 것입니다 : 너무 많은 문제 는 치명적입니다.