У меня есть приложение на python, которое использует getopt () для анализа параметров командной строки.Он отлично работает в интерактивной оболочке bash или в скрипте bash, который вызывается из командной строки, но он не будет выполняться при вызове из скрипта оболочки bash через cron.Я использую Fedora 15.
Приложение не запускается, когда вызывается как задание cron, и в / var / log / messages выдается следующая ошибка:
myscript.py: abrt: detected unhandled Python exception in myscript.py
ItПохоже, что параметры командной строки не передаются в скрипт Python должным образом.
Например, следующий вызов командной строки работает правильно, устанавливая для входного имени файла «input.txt» и устанавливая «log»и «отметчик времени» указывает на их желаемые значения:
python myscript.py -i input.txt --log --timer
Когда я пытаюсь вызвать программу через скрипт bash из командной строки, скрипт bash работает нормально.Но когда я пытаюсь запустить bash-скрипт через cron, выполнение завершается неудачно с вышеупомянутой ошибкой.
Я затрудняюсь определить, почему скрипт оболочки не работает должным образом через cron.Я использую полные пути из скрипта bash, используемого для задания cron, поэтому пути к среде не должны быть проблемой:
/usr/bin/python /path/to/myscript.py -i /path/to/input.txt --log --timer
Я думаю, что этот синтаксис, когдаиспользуется в скрипте bash, вызываемом через cron, может передавать параметры скрипта в python, а не в myscript.py.
Любая помощь приветствуется!