Respostas:
Você pode usar o mesmo formato de qualquer outra matriz. Para extrair os 2º e 3º elementos de $@
, você faria:
echo "${@:1:2}"
- -
| |----> slice length
|------> slice starting index
"${@:1:2}"
na verdade , me fornece os argumentos da primeira e da segunda linha de comando . Enquanto isso, "${@:1}"
fornece os argumentos completos da linha de comando e "${@:0}"
o nome do script, seguido pelos argumentos completos da linha de comando .
$@
matriz são o primeiro e o segundo argumentos. "${@:1}"
imprimirá toda a matriz começando com o 2º elemento (o 1º argumento) e ${@:0}
toda a matriz começando com o 1º elemento, que é o nome do script. O que você estava esperando?
"$@"
. Suaargv
atribuição seria interrompida se algum argumento contivesse espaços.