Почему делает 'для anytext; действительно' циклично выполниться четыре раза?

Аппаратная кнопка питания инициировала событие ACPI это acpid (демон ACPI), замечает и реагирует на; в этом случае путем закрытия системы, хотя у Вас мог быть он, делают то, что Вы хотите. Демон ACPI работает как корень, таким образом, он имеет разрешение завершить работу системы. Настольные среды (например. gdm для Gnome) обычно выполненный как корень также, таким образом, я подозреваю, что они работают тот же путь - у Вас нет разрешения завершить работу системы, но можно сказать gdm Вы хотите это закрытие, и это может сделать это от Вашего имени

9
24.11.2011, 18:23
2 ответа

Это - функция for соедините команду, как описано help for:

for: for NAME [in WORDS ... ] ; do COMMANDS; done

Выполните команды для каждого участника в списке.

for цикл выполняет последовательность команд для каждого участника в списке объектов. Если in WORDS ...; не присутствует, затем in "$@" принят. Для каждого элемента в WORDS, NAME установлен на тот элемент, и COMMANDS выполняются.

Таким образом, код, который Вы заключили в кавычки, вероятно, выполнен в сценарии, который назвали с 4 параметрами.

14
27.01.2020, 20:04
  • 1
    Спасибо... Вещь, которая бросила меня полностью, состояла в том, что это произошло в командной строке.. Я на самом деле не попробовал его в сценарии.. Я, должно быть, использовал set a b c d в некоторое время недавно. Я часто использую set тот путь в сценарии для тестирования.. После перезапуска терминала это остановилось... (имеет смысл теперь).. –  Peter.O 24.11.2011, 18:56

for x; do … ярлык для for x in "$@"; do …: это выполняет итерации по позиционным параметрам. Если это циклично выполняется четыре раза, это означает, что у Вас есть четыре позиционных параметра ($1 через $4).

12
27.01.2020, 20:04

Теги

Похожие вопросы