脚本 zenity + inotify

脚本 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可中止监视。

相关内容