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

У меня есть сценарий 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".

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

...