8
$ *と$ @の違いは何ですか?
次のコードを検討してください。 foo () { echo $* } bar () { echo $@ } foo 1 2 3 4 bar 1 2 3 4 以下を出力します: 1 2 3 4 1 2 3 4 私はKsh88を使用していますが、他の一般的なシェルにも興味があります。特定のシェルの特殊性を知っている場合は、言及してください。 SolarisのKshのマニュアルページで次のことがわかりました。 $ *と$ @の意味は、引用符で囲まれていない場合、またはパラメーター割り当て値またはファイル名として使用されている場合は同じです。ただし、コマンド引数として使用する場合、$ *は `` $ 1d $ 2d ... ''と同等です。dはIFS変数の最初の文字で、$ @は$ 1 $ 2 ...と同等です。 …