명령을 실행 한 후에 반환 코드가 $?
에 포함될 것이라고 알고 있지만 스크립트가 실행 된 후 $?
은 무엇을 의미합니까? 해당 스크립트에서 마지막 명령의 리턴 코드는 무엇입니까?bash 스크립트에 리턴 코드가 있습니까?
예기치 않은 시스템 중단이나 중단으로 중단되지 않고 스크립트가 앞뒤로 실행되었는지 알 수 있습니까? 내가 그 로그 파일에 무엇을 찾을 것
나는 아래 excuted 같은 스크립트가있는 경우, A
가 실행되는 동안
Command A;
if [ $? -eq 0]
then
echo "OK" >> log
else
echo "failed" >> log
fi
시스템
이 중단? "OK", "failed"또는 nothing?
다른 스크립트가 인터럽트가 발생하면 셸에보고 된 종료 상태가 0이되지 않습니다 (스크립트가 인터럽트를 처리하거나 무시하고 모두 종료 후 0 번 종료되도록 조정). 시스템이 멈 추면 호출하는 스크립트도 멈추게됩니다. 재시도 등을 다루는 매우 정교한 시스템이 없다면 아무 것도 결정할 기회가 없습니다. –
스크립트가 실행하는 마지막 명령이 'exit'가 아니라면 (예. 스크립트 파일의 끝으로 실행되었거나'set -e'와 오류로 인해 빠져 나가면 스크립트의 리턴 코드는 실행 된 마지막 명령의 리턴 코드가됩니다. –
"예"가됩니다. –