$1
є першим аргументом.
$@
це всі вони.
Як я можу знайти останній аргумент, переданий сценарію оболонки?
${!#}
. Перевірте це за допомогою bash -c 'echo ${!#}' arg1 arg2 arg3
. Що стосується bash , ksh та zsh , то пропонується відповідь Денніса Вільямсона${@: -1}
. Крім того, ${*: -1}
також можна використовувати. Перевірте це за допомогою zsh -c 'echo ${*: -1}' arg1 arg2 arg3
. Але це не працює для тире , csh і tcsh .
${!#}
на відміну ${@: -1}
, також працює з розширенням параметрів. Ви можете протестувати bash -c 'echo ${!#%.*}' arg1.out arg2.out arg3.out
.