Выполните команду, когда добавят новый файл в папке

Я не уверен погода, это возможно или нет. Я ищу сценарий/команду, который выполнит команду или запустит скрипты, когда я добавлю файл в папке.

Например:

Я практикую сценарии удара. После записи сценария удара я должен сделать свой файл сценария к исполняемому файлу с помощью этой команды chmod +x filename.sh . Все мои сценарии сохранили в папке под названием Bash. Так, когда я добавляю новое .sh файл в той папке, я хочу, чтобы команда/сценарий работала, который сделает мой .sh исполняемый файл файла.

Как сделать это?

5
задан 5 May 2014 в 10:13

1 ответ

Можно использовать inotifywait. Для применения chmod +x к каждому файлу, записанному в каталоге BASH, поддерживайте следующий сценарий в рабочем состоянии:

#!/bin/bash
dir=BASH
inotifywait -m "$dir" -e close_write --format '%w%f' |
    while IFS=' ' read -r fname
    do
        [ -f "$fname" ] && chmod +x "$fname"
    done

, Если Вам любопытно, Вы видите все, что inotifywait может сказать о том, что происходит в ударе каталога путем выполнения:

inotifywait -m BASH

Для получения дополнительной информации, см. man inotifywait.

Для использования inotifywait Вы, возможно, сначала должны установить inotify-tools: выполненный apt-get install inotify-tools.

4
ответ дан 17 November 2019 в 11:44

Другие вопросы по тегам:

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