So rufen Sie im Advanced Bash-Scripting Guide das letzte Befehlszeilenargument ab:
Oder:
lastarg=${!#}
Dies ist eine indirekte Referenz auf die$#
Variable.
Beachten Sie, dasslastarg=${!$#}
das nicht funktioniert.
!$
einfacher und gleich?
So rufen Sie im Advanced Bash-Scripting Guide das letzte Befehlszeilenargument ab:
Oder:
lastarg=${!#}
Dies ist eine indirekte Referenz auf die$#
Variable.
Beachten Sie, dasslastarg=${!$#}
das nicht funktioniert.
!$
einfacher und gleich?
Antworten:
Wie es heißt, handelt es sich um eine indirekte Referenz. Nehmen Sie das folgende Beispiel:
$ var=test
$ test='Hello, world'
$ echo ${!var}
Hello, world
Nun, wenn ich die folgenden Positionsparameter einstellen würde:
$ set -- one two three
Und $#
stellt die Gesamtzahl der Positionsparameter dar:
$ echo $#
3
Das bedeutet, wenn ich es so nenne, wie ${!#}
ich sage, gib mir den Wert des Parameters mit dem Namen 3
:
$ echo ${!#}
three