Da Advanced Bash-Scripting Guide, per ottenere l'ultimo argomento della riga di comando:
Oppure:
lastarg=${!#}questo è un riferimento indiretto alla$#variabile.
Nota chelastarg=${!$#}non funziona.
!$semplice e uguale?
Da Advanced Bash-Scripting Guide, per ottenere l'ultimo argomento della riga di comando:
Oppure:
lastarg=${!#}questo è un riferimento indiretto alla$#variabile.
Nota chelastarg=${!$#}non funziona.
!$semplice e uguale?
Risposte:
Come dice che è un riferimento indiretto. Prendi il seguente esempio:
$ var=test
$ test='Hello, world'
$ echo ${!var}
Hello, world
Ora, se dovessi impostare i seguenti parametri posizionali:
$ set -- one two three
E $#rappresenterà il numero totale di parametri posizionali:
$ echo $#
3
Ciò significa che quando lo chiamo come ${!#}sto dicendo, dammi il valore del parametro denominato 3:
$ echo ${!#}
three