incrontab $@ 给出子目录而不是监视目录

incrontab $@ giving subdirectory and not watched directory

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

script.sh

的内容
echo  > /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

此处回显已完成工作的目录而不是 watched 目录。 据我了解 here $@ 用于显示监视的系统路径。

As far as i understand from here $@ is used to display watched system path.

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

instead of watched directory directory on which work is done is echoed.

完成工作的目录正是目录中的文件,如文档所述。 (将 some_file 复制到 /tmp/target_dir/some_dir 修改 /tmp/target_dir/some_dir。)