Bracket notation for positional parameters leads to a fairly simple way of referencing the last argument passed to a script on the command line. This also requires indirect referencing. args=$# # Number of args passed. lastarg=${!args} # Or: lastarg=${!#} # (Thanks, Chris Monson.) # Note that lastarg=${!$#} doesn't work.