У меня есть сценарий 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 - платье - черный - ночной - формальный
.. * * 1023
Установка 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".
Любая помощь очень ценится!