inotifywait работает по команде, но не по bash
Моя цель: запустить Rscript при создании файла в каталоге /home/gabriel/data
Вот что у меня с 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
, Я дал разрешение на выполнение этой команды:
$ chmod +x inotifytest.sh
А затем начните запускать bash:
$ sh inotifytest.sh
: not found.sh: 2: inotifytest.sh:
Setting up watches.
Watches established.
Когда я создаю новые файлы, моя база данных не обновляется, что означает, что мой Rscript не запускался.
Я, вероятно, делаю это неправильно на многих уровнях, но я не вижу, где. Спасибо за помощь.