我正在使用 inotifywait 自动执行使用我的网络应用程序在给定文件夹中创建的脚本。
我已经设置 inotifywait 来监视文件夹中的文件创建事件,并且我正在寻找一种自动执行在创建的文件中生成的命令的方法。
我已经设置了一个作为服务运行的 sh 文件,其中放置了以下代码:
#!/bin/bash
inotifywait -q --format '%f' -e create /Mainfolder/sub/sub-1/temp|
while read FILENAME
do
cust=$(basename "$FILENAME")
IFS='-' read -r -a array <<< "$cust"
if [ ${array[0]} = "doactions" ]
then
chown root:root /Mainfolder/sub/sub-1/temp/${cust}
sed -i 's/\r$//' /Mainfolder/sub/sub-1/temp/${cust}
chmod 755 /Mainfolder/sub/sub-1/temp/${cust}
./Mainfolder/sub/sub-1/temp/${cust}
fi
done
当在目标文件夹中仅创建一个文件时,一切都会顺利运行,但当同时创建多个文件时,一切都不起作用。我的网络应用程序生成的文件是一个包含多个命令行的 txt 文件。我想知道 inotifywait 是否只是在执行生成文件的代码时不监视目标文件夹...如果是这样,有没有办法解决此类问题?谢谢