Відповіді:
Ви можете використовувати той самий формат, що і для будь-якого іншого масиву. Щоб витягнути 2-й та 3-й елементи $@
, ви зробите:
echo "${@:1:2}"
- -
| |----> slice length
|------> slice starting index
"${@:1:2}"
насправді дає аргументи 1-го та 2-го командного рядка . Тим часом, "${@:1}"
подає мені повний аргумент командного рядка та "${@:0}"
дає мені ім'я скрипта, а потім аргументи повного командного рядка .
$@
масиву - це 1-й та 2-й аргументи. "${@:1}"
буде надрукувати весь масив, починаючи з 2-го елемента (1-го аргументу) і ${@:0}
всього масиву, починаючи з 1-го елемента, що є назвою сценарію. Що ви очікували?
"$@"
. Виargv
призначите, що будь-які аргументи містять пробіли.