我正在尝试使用inotify删除创建的文件,但它不起作用:
inotifywait -r --format '%w%f' -e create /test && rm $FILE
当我在/ test中创建文件时,我得到了这个:
/test/somefile.txt
rm: missing operand
Try `rm --help' for more information.
所以好像$ FILE变量没有传递给rm命令......我怎么能正确地做到这一点?感谢。
答案 0 :(得分:6)
启动inotifywait一次(没有-m标志)时,您可以轻松使用xargs:
inotifywait -r --format '%w%f' -e create /test -q | xargs /bin/rm
将等待/ test中的文件创建,将文件名提供给xargs并将此arg提供给/bin/rm
以删除该文件,然后它将退出。
如果您需要连续观察目录(使用inotifywait的-m参数),请创建如下脚本文件:
inotifywait -m -r --format '%w%f' -e create /test | while read FILE
do
/bin/rm $FILE
done
然后,将删除在/ test目录中创建的每个新文件。