대부분의 경우 0이 아닌 상태에서 오류로 중지하고 싶은 tcsh 쉘 스크립트가 있지만 어떤 경우에는 무시하고 싶습니다. 예를 들어 :tcsh 쉘 명령을 실행하고 선택적으로 상태를 무시하는 방법은 무엇입니까?
#!/bin/tcsh -vxef
cp file/that/might/not/exist . #Want to ignore this status
cp file/that/might/not/exist . ; echo "this doesn't work"
cp file/that/must/exist . #Want to stop if this status is nonzero
csh 프로그래밍은 유해한 것으로 간주됩니다. 진지하게. http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ – msw
비슷한 문제가 있습니다. tcsh는 내장 명령 (예 : cd 및 limit)을 외부 명령 (예 : false)과 다르게 처리하는 것 같습니다. 내장 명령은 항상 -e에 관계없이 스크립트를 종료합니다. 또한 "| 마지막 명령을 에코하지 못함"이 예상대로 작동하지 않습니다. -e 뒤에는 || 절대로 불리지 않는다. -e를 제외한 부분 || 예상대로 호출되지만 내장 명령의 경우 바로 그 스크립트를 종료합니다. 왝! –