No Advanced Bash-Scripting Guide, para obter o último argumento da linha de comando:
Ou:
lastarg=${!#}
Esta é uma referência indireta à$#
variável.
Note quelastarg=${!$#}
não funciona.
No Advanced Bash-Scripting Guide, para obter o último argumento da linha de comando:
Ou:
lastarg=${!#}
Esta é uma referência indireta à$#
variável.
Note quelastarg=${!$#}
não funciona.
Como diz, é uma referência indireta. Tome o seguinte exemplo:
Agora, se eu fosse definir os seguintes parâmetros posicionais:
E
$#
representará o número total de parâmetros posicionais:Isso significa que quando eu chamo como
${!#}
estou dizendo, me dê o valor do parâmetro chamado3
: