Z Advanced Bash-Scripting Guide, aby uzyskać ostatni argument wiersza poleceń:
Lub:
lastarg=${!#}
Jest to pośrednie odniesienie do$#
zmiennej.
Pamiętaj, żelastarg=${!$#}
to nie działa.
!$
prostsze i to samo?
Z Advanced Bash-Scripting Guide, aby uzyskać ostatni argument wiersza poleceń:
Lub:
lastarg=${!#}
Jest to pośrednie odniesienie do$#
zmiennej.
Pamiętaj, żelastarg=${!$#}
to nie działa.
!$
prostsze i to samo?
Odpowiedzi:
Jak mówi, jest to odniesienie pośrednie. Weź następujący przykład:
$ var=test
$ test='Hello, world'
$ echo ${!var}
Hello, world
Teraz gdybym ustawił następujące parametry pozycyjne:
$ set -- one two three
I $#
będzie reprezentować całkowitą liczbę parametrów pozycyjnych:
$ echo $#
3
To znaczy, kiedy nazywam to tak, jak ${!#}
mówię, podaj mi wartość parametru o nazwie 3
:
$ echo ${!#}
three