inotifywait在命令上有效,但在bash上无效

时间:2018-09-07 07:36:25

标签: bash rscript inotifywait

我的目标:在目录/home/gabriel/data上创建文件时运行Rscript

inotiwait就是我的意思

$ inotifywait -m -e create /home/gabriel/data |
  while read -r filename event; do 
    Rscript /home/gabriel/script/updatedb.R;
  done

我首先在终端上运行这些行,然后在/home/gabriel/data上创建一个新文件。创建文件后,我可以清楚地看到我的Rscript正确运行,因为数据库已更新。

但是,当我在bash中使用相同的代码时,却没有运行我的Rscript。这是我的重击:

#!/bin/sh
inotifywait -m -e create /home/gabriel/data |
  while read -r filename event; do 
    Rscript /home/gabriel/script/updatedb.R;
  done
Setting up watches.
Watches established.

我呼叫inotifytest.sh并保存在/home/gabriel上。我允许执行此bash:

$ chmod +x inotifytest.sh

然后开始运行bash:

$ sh inotifytest.sh
: not found.sh: 2: inotifytest.sh:
Setting up watches.
Watches established.

创建新文件时,数据库没有更新,这意味着我的Rscript没有运行。

我可能在许多级别上都做错了,但我看不到哪里。谢谢您的帮助。

0 个答案:

没有答案