![${parameter:?word} 확장자: `\}` bash와 zsh의 차이점](https://linux55.com/image/221913/%24%7Bparameter%3A%3Fword%7D%20%ED%99%95%EC%9E%A5%EC%9E%90%3A%20%60%5C%7D%60%20bash%EC%99%80%20zsh%EC%9D%98%20%EC%B0%A8%EC%9D%B4%EC%A0%90.png)
}
출력에 텍스트를 가져오려고 합니다.${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)에서 사용할 수 있습니다.