Obtener el último argumento pasado a un script de shell

Resuelto Thomas asked hace 15 años • 28 respuestas

$1es el primer argumento.
$@son todos ellos.

¿Cómo puedo encontrar el último argumento pasado a un script de shell?

Thomas avatar Dec 06 '09 06:12 Thomas
Aceptado

Esto es sólo para Bash:

echo "${@: -1}"
Dennis Williamson avatar Dec 06 '2009 00:12 Dennis Williamson

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 forimplí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.

Laurence Gonsalves avatar Dec 06 '2009 00:12 Laurence Gonsalves