1

每次添加/创建或更新此文件夹中的任何新文件或目录时,我都想更改 /var/www/html 文件夹的所有者和权限。

我想为此使用 fswatch 来获取该目录中发生的事件(即 /var/www/html),现在我能够在每次更改(例如分别创建或删除文件)时获取更新/删除事件通过命令在目录中

fswatch -x /var/www/html

现在,在此事件中,我将输出通过管道传输到 xargs 并在 /var/www/html 目录上执行了 chown 和 chmod 命令,但现在在文件删除时 fswatch & xargs 仍然执行 chmod 和 chown 命令并抛出错误 no such file in the目录在文件被删除时很明显,因此我想知道如何使用 if 条件来检查事件类型(例如仅用于 fswatch 命令的更新事件输出) chmod 和 chown 命令将被触发。

4

1 回答 1

1

我会过滤特定事件,然后将其传递给xargs通过例如:

fswatch -x /tmp | egrep --line-buffered '(Created|Updated)$'| \
   xargs -l1 sh -c 'test -f "$1" && chown some_user:some_group "$1"' --
于 2018-05-08T23:40:20.977 回答