@Gilles: Согласно справочной странице bash, set -без аргументов оставляет позиционные параметры без изменений.
Camh
@camh Я должен не согласиться. Я вижу это в руководстве: set - если после этой опции нет аргументов, то позиционные параметры не устанавливаются. В противном случае позиционные параметры устанавливаются в аргументы, даже если некоторые из них начинаются с -.
kdubs
@kdubs, для которого вы цитируете справочную страницу set --. Я использовал set -(один дефис), который говорит: «Если нет аргументов, позиционные параметры остаются неизменными».
Camh
вы правы. Я запутал их. мой экран сделал ваш - похож -
kdubs
4
Легко сбрасывать все позиционные параметры с помощью:
shift $#
Чтобы удалить первые 3 позиционных параметра:
shift 3
Сдвиг «выскакивает» из первых N позиционных параметров. Используя $ #, мы получаем общее количество позиционных параметров. Таким образом, команда выскакивает из всех позиционных параметров.
set -
без аргументов оставляет позиционные параметры без изменений.set --
. Я использовалset -
(один дефис), который говорит: «Если нет аргументов, позиционные параметры остаются неизменными».Легко сбрасывать все позиционные параметры с помощью:
Чтобы удалить первые 3 позиционных параметра:
Сдвиг «выскакивает» из первых N позиционных параметров. Используя $ #, мы получаем общее количество позиционных параметров. Таким образом, команда выскакивает из всех позиционных параметров.
источник