1

/tmp/target_dir IN_MODIFY,IN_CREATE,IN_MOVED_TO /tmp/script.sh $@

script.sh 的内容

echo $1 > /tmp/script.log

在执行

cp -r some_dir /tmp/target_dir

/tmp/script.log 的内容

/tmp/target_dir

在执行

cp some_file /tmp/target_dir/some_dir 

/tmp/script.log 的内容

/tmp/target_dir/some_dir

在这里,而不是被监视的目录,在其上完成工作的目录被回显。据我了解,这里$@ 用于显示监视的系统路径。

4

1 回答 1

0

据我了解,这里$@ 用于显示监视的系统路径。

说明:当监控一个目录时,上面标有星号(*)的事件可能发生在目录中的文件上,在这种情况下,返回的事件数据中的名称字段标识了目录中文件的名称。

而不是回显已完成工作的监视目录目录。

完成工作的目录正是该目录中记录的文件。(复制some_file/tmp/target_dir/some_dir修改 /tmp/target_dir/some_dir。)

于 2020-03-04T07:29:00.220 回答