我创建了一个名为“quicktest.sh”的 bash 脚本。此脚本的任务是在所有用户主目录的 Data 文件夹上设置 inotifywait。
quicktest.sh 的代码如下:
function inotify_data()
{
user="$1"
if [ -d /home/$user/Data ];
then
while read -r path action file; do
echo "The file '$file' created"
chmod 0777 -R /home/$user/Data
done < <(exec inotifywait -m -r /home/$user/Data -e moved_to -e create -e modify)
fi
}
cd /home/
ls >/tmp/.grp
i=1
n=`wc -l </tmp/.grp`
while [ "$i" -le "$n" ]
do
user=`awk "NR==$i" /tmp/.grp`
echo "setting watch on $user Data Folder."
inotify_data "$user" &
i=$((i+1))
done
我的机器上有 2 个用户,运行此脚本后,我运行 "ps -ef | grep -i quicktest.sh" ,然后它将显示此文件的两个进程。