Как я могу определить время последней активности жесткого диска / самбы или zfs для действия, подобного ifplugd?

Это объясняется частично на странице руководства trap (1P) и больше в Advanced Bash Scripting Guide , где объясняется, что - является Встроенный Bash, используемый для обозначения «конца параметров» для команды. Поскольку сценарии, использующие sh , предназначены для переносимости между другими системами с его помощью, bash ведет себя так, как если бы он выполнялся с - posix , что изменяет некоторое поведение оболочки в соответствии со спецификацией POSIX.

Когда сигнал "перехвачен" (например, EXIT ), он связывает первый аргумент после команды с сигналом, eval - при выдаче сигнала , и игнорируя его нормальное поведение (кроме EXIT ). Итак, когда trap 'echo something' EXIT запускается, затем exit , оболочка eval 'echo something' перед завершением работы. Это также будет работать с другим сигналом, таким как TERM , который может быть привязан, например, к функции постепенного выхода в сценарии. Когда выполняется trap - EXIT , - интерпретируется как «конец аргументов», указывая trap , что сигнал должен быть привязан к null ( '' ) (поскольку не было флагов до или после - ), указывающих оболочке игнорировать сигнал (однако это не работает с EXIT, но работает с другими сигналами). Запуск trap - 'echo something' EXIT , однако, по-прежнему будет eval 'echo something' и завершится после exit .В соответствии со спецификацией ловушки , команда - сама по себе указывает, что оболочка сбросит все ловушки для указанных сигналов, поэтому она работает как в sh ] и Баш.

1
01.10.2017, 00:26
0 ответов

Теги

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