回答:
他の配列と同じ形式を使用できます。から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
任意の引数にスペースが含まれている場合は割り当てが壊れます。