В bash
(а также zsh
и ksh93
, общая форма расширение параметра или Расширение подстроки
:
${parameter:offset:length}
Если длина
опущена, вы получите от смещения
до конца параметра.
В вашем случае:
array=(2 46 7 4 2 1 1 1 23 4 5)
store=( "${array[@]:5}" )
printf '%s\n' "${store[@]}"
будет сгенерирован от 6-го
элемента до последнего элемента.
С $ @
:
printf '%s\n' "${@:5}"
будет сгенерирован из $ 5
до конца позиционных аргументов.
Также обратите внимание, что вам необходимо заключить переменную массива в кавычки, чтобы предотвратить использование оператора split + glob
для ее элементов.
С zsh
, вы можете использовать другой синтаксис:
print -rl -- $argv[5,-1]