回答:
他の配列と同じ形式を使用できます。から2番目と3番目の要素を抽出するには$@、次のようにします。
echo "${@:1:2}"
- -
| |----> slice length
|------> slice starting index
"${@:1:2}"実際に1番目と2番目の コマンドライン引数が返されます。一方、"${@:1}"私に与え、完全なコマンドライン引数を、そして"${@:0}"私に与え、完全なコマンドライン引数が続くスクリプト名を。
$@ 配列の2番目と3番目の要素は、1番目と2番目の引数です。"${@:1}"2番目の要素(1番目の引数)で${@:0}始まる配列全体と、スクリプトの名前である1番目の要素から始まる配列全体を出力します。何を期待していましたか?
"$@"。あなたのargv任意の引数にスペースが含まれている場合は割り当てが壊れます。