我正在尝试在 中的扩展}
的输出中获取文字。${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 >>\}<<
请注意,\
上面出现了字面意思。
$var2
是的,事实是,例如,没有扩展的事实${var1?$var2}
是与所有其他 shell 和 POSIX 规范的不必要且不幸的偏差,sh
并于 2023 年 2 月在 zsh 中修复,因此将在下一个版本中提供,无论是 5.10或 6.0。