скрипт zenity + inotify

Я хотел бы иметь простой скрипт для уведомления пользователя на экране, каждый раз, когда новая папка или файл создается в общей папке. Результат должен выглядеть так: «У вас есть новый файл / папка с именем newfile / newfolder». Я использую этот скрипт, но я не могу поместить имя файла newfile / newfolder в zenity.

while inotifywait -r -e create ~/Documents/Process do zenity --warning -- ???? done 

Thames Djames

Вы можете попробовать похожий скрипт:

 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, чтобы прервать часы.