Z-Shellのユーザーガイドで以下を読みました。
「true」の同義語は「:」です。この形式では、副作用はあるが使用すべきではない引数を与えるためによく使用されます。
: ${param:=value}
これは、すべてのボーンシェルデリバティブの一般的なイディオムです。パラメータ展開で
$param
は、以前に空だった場合は値valueが与えられ、それ以外の場合はそのままになります。それがパラメータ拡張の唯一の理由であるため:
、引数を無視するために使用します。実際には、シェルはコマンドラインを簡潔に構築します-コロン、その後に値が何であれ$param
、割り当てが行われたかどうかに関係なく-その後、コマンドを実行します。':'が与えられた引数に気付かないのは偶然です。
しかし、私はそれを理解していません。という:
意味true
ですが、式には2つのコロンがあります。小さな質問として、なぜこのイディオムがすべてのBourneシェル派生物でそんなに使われているのですか?どんな目的に役立ちますか?
注: このイディオムがbashとzshの両方で行うことに興味があります。
ありがとう
zsh
かbash
?