읽을 서브셸 출력을 할당할 때 서브셸 종료 코드를 캡처하는 방법은 무엇입니까? [복사]

읽을 서브셸 출력을 할당할 때 서브셸 종료 코드를 캡처하는 방법은 무엇입니까? [복사]

고려하다:

$ read -r a <<<$(echo "foo"; exit 1)
$ echo $?
0

실제로 1을 기대하면 0이 반환됩니다. 서브셸에서 실제 종료 코드를 추출하는 방법은 무엇입니까?

답변1

여러 단계가 필요합니다.

output=$(echo "foo"; exit 1)
status=$?
read -r a <<<"$output"       # assuming the "real" code here is more complex

관련 정보