incron в Ubuntu - скрипт bash, вызываемый круглыми скобками incrontab - $ Подстановка команд $(команда) завершилась неудачно

У меня есть сценарий bash, который прекрасно работает из командной строки, но когда он вызывается из incrontab, замены не удаются. Сценарий выполняется, но команды в $(...) не выполняются:(

Мой incrontab -e:

/home/kelly/summer IN_CREATE /bin/bash /usr/share/summerwear/notify.sh

в моем скрипте (notify.sh):

#!/bin/bash
swimwear=$(grep -i "swimsuit" "/home/kelly/summer/inquiry.txt")
echo "The swimwear request is $swimwear" > /home/kelly/log.txt

Содержимое моего файла журнала выглядит следующим образом:

Запрос купальника

..

Пример входящего файла query.txt:

запрос 1 - купальник - синий - дневной - неформальный

запрос 2 - платье - черный - ночной - формальный

..

Установка PATH и SHELL из incron.conf, похоже, не имеет значения.

Я также пробовал варианты вещей, как это:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/bash
swimwear=$(grep -i "swimsuit" "/home/kelly/summer/inquiry.txt")
echo "swimwear equals $swimwear" > /home/kelly/log.txt

И каждая комбинация, которую я могу придумать:

swimwear=$(grep -i "swimsuit" "/home/kelly/summer/inquiry.txt")
swimwear=$("grep -i swimsuit /home/kelly/summer/inquiry.txt")
swimwear=$(grep -i 'swimsuit' "/home/kelly/summer/inquiry.txt")
swimwear=$(grep -i swimsuit "/home/kelly/summer/inquiry.txt")
swimwear=$(grep -i $("swimsuit" "/home/kelly/summer/inquiry.txt"))
swimwear=$( $(grep -i "swimsuit" "/home/kelly/summer/inquiry.txt"))

... и бесконечные комбинации одинарных кавычек, двойных кавычек, без кавычек и т. д.... а также указание grep PATH:

swimwear=$(/bin/grep -i "swimsuit" "/home/kelly/summer/inquiry.txt")

(и т. д.)... Есть несколько постов, посвященных настройке и / или указанию PATH и SHELL для заданий cron, crontab и т. д., но я не вижу много информации, касающейся конкретно "incrontab".

Любая помощь очень ценится!

0 ответов

Другие вопросы по тегам