我试图}
在输出中获取文字${parameter:?word}
扩展于zsh
.
在 bash 中,它按预期工作——我可以}
用 a引用\
:
% 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
是的,事实是,例如 in 中未扩展的事实是与所有其他 shell 以及和 的${var1?$var2}
POSIX 规范的不必要且不幸的偏差sh
2023 年 2 月在 zsh 中修复,因此将在下一个版本(无论是 5.10 还是 6.0)中提供。