Сценарий zenity + inotify
Я хотел бы иметь простой скрипт для уведомления пользователя на экране, каждый раз, когда в общей папке создается новая папка или файл. Вывод должен выглядеть так: "У вас есть новый файл / папка с именем newfile/newfolder". Я использую этот скрипт, но я не могу поместить имя newfile / newfolder в вывод zenity.
while inotifywait -r -e create ~/Documents/Process
do
zenity --warning -- ????
done
спасибо Djames
1 ответ
Решение
Вы можете попробовать похожий скрипт:
while true
do
fileName=$(inotifywait -r -e create ~/Documents/Process | sed -r 's/^.*CREATE(,ISDIR)*\s+(.*)$/\2/g')
zenity --warning --text="You have a new file/folder named $fileName"
done
fileName переменная содержит имя извлеченного файла, inotifywait обнаруживает и выводит. (Это отфильтровано из вывода с помощью sed команда.)
Тогда $fileName отображается zenity с использованием --text= переключатель.
Эти две строки выполняются в бесконечном цикле, что позволяет обнаруживать другие события создания. Используйте CTRL + C, чтобы отменить часы.