$1
ist das erste Argument.
$@
ist alle von ihnen.
Wie finde ich das letzte Argument, das an ein Shell-Skript übergeben wurde?
${!#}
. Testen Sie es mit bash -c 'echo ${!#}' arg1 arg2 arg3
. Für bash , ksh und zsh , die Dennis Williamson Antwort schlägt ${@: -1}
. Darüber hinaus ${*: -1}
kann auch verwendet werden. Testen Sie es mit zsh -c 'echo ${*: -1}' arg1 arg2 arg3
. Dies funktioniert jedoch nicht für dash , csh und tcsh .
${!#}
${@: -1}
funktioniert im Gegensatz dazu auch mit Parametererweiterung. Sie können es mit testen bash -c 'echo ${!#%.*}' arg1.out arg2.out arg3.out
.