Obtener el último argumento pasado a un script de shell
$1
es el primer argumento.
$@
son todos ellos.
¿Cómo puedo encontrar el último argumento pasado a un script de shell?
Aceptado
Esto es sólo para Bash:
echo "${@: -1}"
Esto es un truco:
for last; do true; done
echo $last
Éste también es bastante portátil (de nuevo, debería funcionar con bash, ksh y sh) y no cambia los argumentos, lo que podría ser bueno.
Utiliza el hecho de que for
implícitamente recorre los argumentos si no le dices qué recorrer, y el hecho de que las variables del bucle for no tienen alcance: mantienen el último valor en el que fueron configuradas.