1
Существует сценарий bash для задания задания cron.Bash Variable во время выполнения
start.sh:
read -e -p "Enter the path to the log directory: " -i "/home/arya/apps/" LOGPATH
read -e -p "Enter comma separated recepient email-ids:" EMAIL
CURRENT=`pwd`
COMMAND="python ${CURRENT}/start.sh 2014-08-01T21:12:12 2014-08-01T23:12:12 $LOGPATH $EMAIL"
echo $COMMAND #Here expected output is coming : */3+1 * * * * python /home/arya/start.sh 2014-08-01T21:12:12 2014-08-01T23:12:12 /home/arya/apps/utils [email protected]
cat <(fgrep -i -v "$COMMAND" <(crontab -l)) <(echo "*/3+1 * * * *") | crontab -
Это не принимает $ CURRENT значение в кронтаб файл. Ouput на поиск файла с помощью кронтаб -e команды:
*/3+1 * * * * rest things are missing.
Ожидаемый результат:
*/3+1 * * * * python /home/arya/start.sh 2014-08-01T21:12:12 2014-08-01T23:12:12 /home/arya/apps/utils [email protected]
Что здесь проблема?
ПЛАТФОРМА: UBUNTU 13,04
Согласно вашему результату, кажется, что отсутствует вся команда 'COMMAND', а не только' CURRENT'. Моя первая предпосылка заключается в том, что вывод 'fgrep' выходит пустым или нулевым, поэтому вы просто получаете вывод' echo'. Вы можете сломать его и сначала проверить каждую часть. Попробуйте запустить команду 'fgrep -i -v '$ COMMAND" <(crontab -l) 'самостоятельно, установив переменные оболочки' CURRENT' и 'COMMAND' и посмотрим, дает ли она вам то, что вы ожидаете. – lurker
[UUOC] (http://partmaps.org/era/unix/award.html) – l0b0
Но echo $ COMMAND дает полную вещь. –