나는 경험적으로 이것을 발견했다.
# someCommand; echo $?
1
# bash -c someCommand; echo $?
0
항상 0 대신 bash -c someCommand종료 상태를 반환 할 것으로 기대합니다 someCommand.
이것은 버그입니까 아니면 디자인 기준 기능입니까? 원래 종료 상태를 쉽게 얻는 방법은 무엇입니까?
GNU bash, 버전 4.2.46 (1)-릴리스 (x86_64-redhat-linux-gnu) 사실입니다. 이전에 테스트 한 방법을 모르겠습니다.
—
david.perez
내 결과는 에릭의 @ 동의 : 그것은 않습니다 someCommand의 결과를 반환합니다. 예를 들어
—
Gordon Davisson
bash -c 'curl http://nonexistent.tld/ &>/dev/null'; echo $?"6"을 인쇄합니다 (호스트를 확인할 수 없으면 상태 말림이 반환 됨). bash -c 'curl / &>/dev/null'; echo $?"3"(잘못된 형식의 URL 상태)을 인쇄합니다. 다른 경우 실행중인 특정 명령에 대해 다른 점이 있어야합니다.
혼란을 드려 죄송합니다.
—
david.perez
bash -c 'grep abc 123'; echo $?반환합니다 . 어떤 bash 버전을 사용하고 있습니까?grep: 123: No such file or directory2