다음 코드를 고려하십시오
outer-scope.sh
#!/bin/bash
set -e
source inner-scope.sh
echo $(inner)
echo "I thought I would've died :("
inner-scope.sh
#!/bin/bash
function inner() { echo "winner"; return 1; }
에 outer-scope.sh
대한 호출이 inner()
실패하면 종료 하려고 합니다. $()
서브 쉘을 호출하기 때문에 이런 일이 발생하지 않습니다.
함수가 0이 아닌 종료 코드로 종료 될 수 있다는 사실을 유지하면서 함수의 출력을 얻으려면 어떻게해야합니까?