명령의 결과로 지역 변수를 선언하고 명령의 반환 상태를 캡처할 수 있기를 원합니다.
이 같은:
#!/bin/ksh
typeset -r command_output=$(command)
typeset -r return_status=$?
echo "$return_status" # always 0
위 코드 조각의 문제점은 명령이 다른 상태 코드로 종료되더라도 return_status가 항상 0이라는 것입니다.
누구든지 나를 도와줄 수 있나요?
답변1
문제는 typeset
반품 상태가 생성된다는 것입니다. 이 코드(즉, 동일한 선언에 두 개의 할당)가 저에게 효과적입니다.
typeset -r command_output=$(command) return_status=$?
return_status
읽기 전용 대신 쓰기 가능한 상태를 유지하려면 다음을 수행할 수 있습니다.
typeset command_output=$(command) return_status=$?
typeset -r command_output
(즉, 후속 명령으로 읽기 전용 변수를 선언합니다.)