このBashガイドには次のように書かれています。
インデックス番号が@または*の場合、配列のすべてのメンバーが参照されます。
私がこれを行うとき:
LIST=(1 2 3)
for i in "${LIST[@]}"; do
echo "example.$i "
done
与える:(example.1 example.2 example.3
望ましい結果)。
しかし、を使用すると${LIST[*]}
、example.1 2 3
代わりに取得します。
どうして?
編集:printfを使用すると、@と*は実際に同じ結果になります。
私の例は間違っていた、これは実際に発生するのはであり
—
アルジャン
echo
、ではなくprintf
、私は気づいた。
他の質問はについてです@goldilocks
—
ステファンシャゼル14年
$*
と$@
。答えは似ており、1つの質問は他の質問のサブセットと考えることができますが、それらは異なる質問です。
echo $SHELL
出力を実行して質問に貼り付けます。