$1est le premier argument.
$@est tous.
Comment trouver le dernier argument passé à un script shell?
${!#}. Testez-le en utilisant bash -c 'echo ${!#}' arg1 arg2 arg3. Pour bash , ksh et zsh , la réponse de Dennis Williamson propose ${@: -1}. De plus ${*: -1}peut également être utilisé. Testez-le en utilisant zsh -c 'echo ${*: -1}' arg1 arg2 arg3. Mais cela ne fonctionne pas pour dash , csh et tcsh .
${!#}, contrairement à ${@: -1}, fonctionne également avec l'expansion des paramètres. Vous pouvez le tester avec bash -c 'echo ${!#%.*}' arg1.out arg2.out arg3.out.