私はそれが修正可能なものを望んでいません。つまり、私はそれを可能にするとは思わないが、それを単純化するARGS=("${ARGS[@]}")
だけですmyarray=("${ARGS[@]/--unneeded-argument/}")
。
この--unneeded-argument
例はパラメータの削除を意味しません。これ私が尋ねる理由。これは私が何年も考えてきましたが、明確な答えが得られなかった質問です。
ベストアンサー1
対応する「一般配列」はありません$@
。
しかし、あなたはできる配列に関連する多くのシナリオで使用されます(ただし、ユーザーが要求するものとは@
異なります)。${@[@]}
コメント-$@
すでに@
拡張機能です):
$ set 1 2 3
$ array=("$@")
$ echo "${array[0]}"
1
$ echo "${array[1]}"
2
$ myarray=("${@/2/}")
$ echo "${myarray[@]}"
1 3
しかしながら、最後のステップの結果は、正確に所望の結果ではないかもしれない。配列にはまだ3つの要素があり、そのうちの1つは空です。これは、置換がすべての配列要素に個別に適用されるためです。