${parameter:?word} 拡張子: `\}` bash と zsh の違い

${parameter:?word} 拡張子: `\}` bash と zsh の違い

}出力にテキストを取得しようとしています。${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仕様と不必要で不幸な違いです。sh2023年2月zshで修正したがって、次のバージョン(5.10または6.0)で使用できます。

おすすめ記事