другой вывод, когда сценарий выполняется вручную и задание cron

Приведенный ниже сценарий входит в цикл if, только если размер массива равен нулю .. Когда сценарий выполняется вручную, он дает правильный результат. Но когда я запускаю тот же скрипт с помощью cronjob. По умолчанию он выполняет цикл else.

printf "%s\n" "${var[@]}"
if [ ${#var[@]} == 0 ];then
   echo "empty"
   #mailx -s "ALL RUNNING" e.nolan.mit@mobily.com.sa < /apps/lp/Start_Services/running.txt
else
   echo "else part"
   printf "%s\n" "${var[@]}" > filename.txt
   mailx -r scm.admin@mobily.com.sa  -s "RHINE1  10.14.11.77 LOYALTY SERVER" e.nolan.mit@mobily.com.sa < /apps/lp/Start_Services/scm/filename.txt
   echo "I am here"
fi 
0
14.12.2016, 01:30
1 ответ

Обычно при выполнении задания cron рекомендуется указывать полный путь к файлам. Скорее всего, проблема здесь:

printf "%s\n" "${var[@]}" > filename.txt

Если вы попытаетесь перенаправить вывод в /apps/lp/Start_Services/scm/filename.txt, скорее всего, вы получите правильный вывод.

1
28.01.2020, 02:47

Теги

Похожие вопросы