프로세스가 실행되고 종료되면 0이 아닌 상태를 반환합니다(저는 개인적으로 "반환 코드"라는 용어를 선호합니다). 0 상태에서도 값이 있다는 것을 알고 있습니다(주로 저는 C++ 프로그래밍을 해왔고 여러분을 알고 있기 때문입니다). 메서드 끝에서 값을 반환할 수 있습니다 main()
. 하지만 다음과 같은 것을 실행하면 다음과 같은 이유도 있습니다.
fuser -s ./myfile.txt && echo "a process is accessing your file
"
echo
프로세스에서 반환된 상태 값이 인 경우 fuser
에만 인쇄하고 0
, 그렇지 않은 경우에는 모두 건너뛴다는 것을 알고 있습니다 echo
. 그 이유는 다음과 같습니다.
"지정된 파일 중 하나라도 액세스되지 않거나 치명적인 오류가 발생하면 퓨저는 0이 아닌 반환 코드를 반환합니다."
이제 이 반환 코드를 표시하여 해당 값을 확인하려면 어떻게 해야 합니까? 예를 들어 스크립트를 실행하는 경우 fuser
액세스 -silent
되지 않은 파일과 실제 치명적인 오류 간의 차이를 알 수 있도록 반환 코드/상태의 값을 아는 것이 중요해 보이기 때문입니다.
또한 해당 값의 의미를 이해할 수 있도록 프로세스의 반환 코드/상태가 문서화되어 있는 매뉴얼 페이지의 공통 위치가 있습니까? 아니면 반환 코드가 무엇인지에 대한 표준이 있는 문서가 있습니까?
답변1
특수 매개변수를 사용하여 마지막으로 실행된 명령의 반환 코드에 액세스할 수 있습니다 $?
. 성공에 대한 "0"과 실패에 대한 0이 아닌 것 외에는 문서화된 표준(적어도 널리 채택되는 표준은 없음)이 없습니다. manpage
어떤 특정 명령이 실행되고 있는지 확인해야 합니다 .