}
출력에 텍스트를 가져오려고 합니다.${parameter:?word}
로 확장되었습니다 zsh
.
Bash에서는 예상대로 작동합니다. }
다음을 인용 할 수 있습니다 \
.
% bash
$ echo "${unset_var_name?Here is a close brace >>\}<<}"
bash: unset_var_name: Here is a close brace >>}<<
하지만 zsh에서 동일한 작업을 수행하는 방법을 모르겠습니다.
% zsh
% echo "${unset_var_name?Here is a close brace >>\}<<}"
zsh: unset_var_name: Here is a close brace >>\}<<
\
문자 그대로의 의미 는 위에 나와 있습니다.
답변1
$var2
예, 예를 들어 확장되지 않는다는 사실은 다른 모든 쉘 ${var1?$var2}
의 POSIX 사양과 불필요하고 불행한 차이 입니다.sh
2023년 2월 zsh에서 수정됨이므로 다음 버전(5.10 또는 6.0)에서 사용할 수 있습니다.