![읽을 서브셸 출력을 할당할 때 서브셸 종료 코드를 캡처하는 방법은 무엇입니까? [복사]](https://linux55.com/image/216415/%EC%9D%BD%EC%9D%84%20%EC%84%9C%EB%B8%8C%EC%85%B8%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%ED%95%A0%EB%8B%B9%ED%95%A0%20%EB%95%8C%20%EC%84%9C%EB%B8%8C%EC%85%B8%20%EC%A2%85%EB%A3%8C%20%EC%BD%94%EB%93%9C%EB%A5%BC%20%EC%BA%A1%EC%B2%98%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
고려하다:
$ 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
고려하다:
$ read -r a <<<$(echo "foo"; exit 1)
$ echo $?
0
실제로 1을 기대하면 0이 반환됩니다. 서브셸에서 실제 종료 코드를 추출하는 방법은 무엇입니까?
여러 단계가 필요합니다.
output=$(echo "foo"; exit 1)
status=$?
read -r a <<<"$output" # assuming the "real" code here is more complex