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".
Любая помощь очень ценится!