Как я могу наблюдать за созданием определенного «триггерного файла»?

Мне нужно создать сценарий оболочки, который start приложение, когда файл с именем start создается в определенном каталоге.

Как я могу написать сценарий оболочки, ожидающий создания файла с определенным именем в определенном месте?

One Solution collect form web for “Как я могу наблюдать за созданием определенного «триггерного файла»?”

Если ваша система имеет inotifywait (большинство дистрибутивов Linux, OpenBSD и, возможно, другие), как отмечают другие, наименее ресурсоемкий подход заключается в использовании inotifywait :

 rm -f yourdirectory/start while [ "$(inotifywait -e create -q --format %f yourdirectory)" != "start" ]; do :; done yourcommand 

Это гарантирует, что yourdirectory файл будет удален из yourdirectory , затем дождитесь его создания, а затем запустите yourcommand . -e create указывает, что нас интересуют только события создания, -q указывает, что нам не нужны диагностические сообщения inotifywait , а --format %f указывает, что мы хотим видеть имя созданного файла в выводе.

Если у вас нет inotifywait , будет работать и следующее: с задержкой не более одной секунды:

 rm -f yourdirectory/start while [ ! -e yourdirectory/start ]; do sleep 1; done yourcommand 
  • Как скрипт оболочки может выполнять действия, если время создания файла прошло 5 минут?
  • Что означает эхо "{@@ ##}"?
  • Удалите начальные пробелы перед возможными shebang
  • Заменить сценарии развертывания с помощью незамысловатого
  • Одно из нескольких перенаправлений с файлом-добавлением «python -version» повторяется «игнорируется» bash, но остальные не закрыты]
  • Bash test wc с ошибкой '-ge' - деление на 0
  • Расчет даты в скрипте для уведомлений
  • Shell script - Не удалось найти 'fi' для этого 'if'
  • Запуск сценария в качестве опции загрузки Grub
  • Как добавить папку на удаленный хост PATH с помощью сценария оболочки?
  • Извлечение определенной информации из журналов
  • Interesting Posts

    Как суммировать определенные строки матрицы

    захватить из текстового файла диапазон с использованием двух переменных в качестве начального и конечного параметров

    Можете ли вы предварительно установить конфигурацию в wicd?

    Как подключить LVM RAID к новой установке Ubuntu?

    Есть ли версия Wine, которая фактически запускает клиентов чата?

    как найти файлы текущей даты на удаленном сервере и скопировать их на локальный сервер, используя rcp, используя shell scripting (ksh)?

    Пользователь отклоняется после сбоя системы в CentOS

    linux Удаленный доступ к GUI с сервера

    ls: показать размер файла с тысячами разделителей

    Переименование файлов дает странный результат в tcsh

    Каков порядок использования физических томов в группе томов?

    как удалить случайно созданные «~» и «..»

    hosts.allow: Не требуется при использовании iptables?

    сопоставлять и печатать несколько столбцов из двух файлов

    Лучший способ приблизиться к ошибкам ядра HID_MAX_USAGES?

    Linux и Unix - лучшая ОС в мире.