Em bash
(e também zsh
e ksh93
, a forma geral de expansão de parâmetro ou Substring Expansion
é:
${parameter:offset:length}
Se o length
for omitido, você receberá de offset
até o final do parâmetro.
No seu caso:
array=(2 46 7 4 2 1 1 1 23 4 5)
store=( "${array[@]:5}" )
printf '%s\n' "${store[@]}"
irá gerar a partir do elemento 6th
para o último elemento.
com $@
:
printf '%s\n' "${@:5}"
irá gerar a partir de $5
até o final dos argumentos posicionais.
Observe também que você precisa citar a variável array para evitar que o operador split+glob
em seus elementos.
Com zsh
, você pode usar outra sintaxe:
print -rl -- $argv[5,-1]