@Gilles: Según la página de manual de bash, set -sin argumentos deja los parámetros posicionales sin cambios.
camh
@camh Debo estar en desacuerdo. Veo esto en el manual: set: si no hay argumentos que sigan esta opción, los parámetros posicionales no están establecidos. De lo contrario, los parámetros posicionales se establecen en los argumentos, incluso si algunos de ellos comienzan con un -.
kdubs
@kdubs estás citando la página del manual set --. He usado set -(guión simple), que dice: "Si no hay argumentos, los parámetros posicionales permanecen sin cambios".
camh
tienes razón. Los confundí. mi pantalla hizo que tu - parezca -
kdubs
4
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".Desarma fácilmente todos los parámetros posicionales con:
Para eliminar los primeros 3 parámetros posicionales:
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.
fuente