$1
adalah argumen pertama.
$@
adalah mereka semua.
Bagaimana saya bisa menemukan argumen terakhir yang diteruskan ke skrip shell?
${!#}
. Uji dengan menggunakan bash -c 'echo ${!#}' arg1 arg2 arg3
. Untuk bash , ksh dan zsh , jawaban Dennis Williamson mengusulkan ${@: -1}
. Apalagi ${*: -1}
bisa juga digunakan. Uji dengan menggunakan zsh -c 'echo ${*: -1}' arg1 arg2 arg3
. Tapi itu tidak berhasil untuk dash , csh dan tcsh .
${!#}
, tidak seperti ${@: -1}
, juga berfungsi dengan ekspansi parameter. Anda dapat mengujinya dengan bash -c 'echo ${!#%.*}' arg1.out arg2.out arg3.out
.