Это что-то вроде хака:
for last; do true; done
echo $last
Этот также довольно переносим (опять же, должен работать с bash, ksh и sh) и не сдвигает аргументы, что может быть неплохо.
Используется тот факт, что for
неявно зацикливается на аргументах, если вы не говорите ему, что зацикливаться, и тот факт, что переменные цикла не имеют области видимости: они сохраняют последнее установленное значение.