Cómo hago esto:
set foo bar baz
unset # Something else here
echo $# # Should ouput 0
Al hacerlo set ""
, $#
seguirá siendo 1 y no 0.
Ok, esto fue simplemente estúpido, y descubrí que usarlo set --
funcionará.
Desarma fácilmente todos los parámetros posicionales con:
shift $#
Para eliminar los primeros 3 parámetros posicionales:
shift 3
Shift "aparece" fuera de los primeros N parámetros posicionales. Al usar $ # obtenemos el número total de parámetros posicionales. Por lo tanto, el comando saca todos los parámetros posicionales.
set -
sin argumentos deja los parámetros posicionales sin cambios.set --
. He usadoset -
(guión simple), que dice: "Si no hay argumentos, los parámetros posicionales permanecen sin cambios".