![종료 코드가 기록되지 않은 이유를 확인할 수 없습니다.](https://linux55.com/image/101355/%EC%A2%85%EB%A3%8C%20%EC%BD%94%EB%93%9C%EA%B0%80%20%EA%B8%B0%EB%A1%9D%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9D%80%20%EC%9D%B4%EC%9C%A0%EB%A5%BC%20%ED%99%95%EC%9D%B8%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
매우 이상하므로 다음은아니요"bash 종료 코드..." 로깅 중
#!/usr/bin/env bash
OUTPUT_PATH=${PROJECT_ROOT:-$PWD}/npm-install-output.log
npm --loglevel=warn --progress=false install > ${OUTPUT_PATH} 2>&1 &&
export NODE_PATH=${NODE_PATH}:~/.suman/node_modules &&
node $(dirname "$0")/test.js &&
EXIT=$? &&
echo " " && # newline
echo "bash exit code => $?" &&
exit ${EXIT}
다음과 같이 명령 뒤에 "&&"를 제거하면 node
:
#!/usr/bin/env bash
OUTPUT_PATH=${PROJECT_ROOT:-$PWD}/npm-install-output.log
npm --loglevel=warn --progress=false install > ${OUTPUT_PATH} 2>&1 &&
export NODE_PATH=${NODE_PATH}:~/.suman/node_modules &&
node $(dirname "$0")/test.js # <<<<< removed "&&" chars
EXIT=$? &&
echo " " && # newline
echo "bash exit code => $?" &&
exit ${EXIT}
그러면 노드 프로세스는 0이 아닌 코드로 종료되지만 bash는 다음과 같이 말합니다.
배쉬 종료 코드 => 0
둘 다 올바른 결과를 제공하지 않습니다. 내 코드에 문제가 있습니다. 노드 프로세스의 올바른 종료 코드를 캡처하여 인쇄하고 싶습니다! 무엇이 잘못될 수 있나요?
답변1
$?
마지막 명령의 종료 상태입니다. 이 경우 echo " "
성공 시 항상 0을 반환합니다. $EXIT
대신 사용해 주세요$?
#!/usr/bin/env bash
OUTPUT_PATH=${PROJECT_ROOT:-$PWD}/npm-install-output.log
npm --loglevel=warn --progress=false install > ${OUTPUT_PATH} 2>&1 &&
export NODE_PATH=${NODE_PATH}:~/.suman/node_modules &&
node $(dirname "$0")/test.js # <<<<< removed "&&" chars
EXIT=$? &&
echo " " && # newline
echo "bash exit code => $EXIT" &&
exit ${EXIT}