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