![$(command)로 시작된 서브셸에서 종료 코드를 얻을 수 있습니까? [복사]](https://linux55.com/image/106061/%24(command)%EB%A1%9C%20%EC%8B%9C%EC%9E%91%EB%90%9C%20%EC%84%9C%EB%B8%8C%EC%85%B8%EC%97%90%EC%84%9C%20%EC%A2%85%EB%A3%8C%20%EC%BD%94%EB%93%9C%EB%A5%BC%20%EC%96%BB%EC%9D%84%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
다음과 같이 변수를 설정하고 있습니다.
myvar=$(command --params)
$?
이후에 명령의 종료 코드( )를 확인하고 싶습니다 . $?
이와 같은 검사는 0
변수를 명령 출력으로 성공적으로 설정했기 때문에 항상 반환됩니다.
반환 값을 얻을 수 있습니까 command
?
답변1
예, 가능합니다. 멀리 갈 필요도 없습니다.
$ $(exit 3); echo $?
3
$ foo="$(echo bar; exit 3)"; echo $?; echo $foo
3
bar