我的目标:在目录/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没有运行。
我可能在许多级别上都做错了,但我看不到哪里。谢谢您的帮助。