$1to pierwszy argument.
$@to wszystko.
Jak mogę znaleźć ostatni argument przekazany do skryptu powłoki?
${!#}. Przetestuj za pomocą bash -c 'echo ${!#}' arg1 arg2 arg3. Dla bash , ksh i zsh , w odpowiedzi Dennis Williamsona proponuje ${@: -1}. Ponadto ${*: -1}można również użyć. Przetestuj za pomocą zsh -c 'echo ${*: -1}' arg1 arg2 arg3. Ale to nie działa dla dash , csh i tcsh .
${!#}, w przeciwieństwie do ${@: -1}, działa również z rozszerzaniem parametrów. Możesz to przetestować bash -c 'echo ${!#%.*}' arg1.out arg2.out arg3.out.