У меня есть скрипт, который создает кучу вещей. Он создает множество функций, которые находятся в каталоге, из которого выполняется сценарий. т.е.cron: запустить скрипт, который вызывает функцию
/home/me/script.sh
/home/me/function1
/home/me/function2
Если я cd
в/дома/меня и запустить ./script.sh
все работает отлично. Эти функции используются и выполняют то, что необходимо сделать.
Однако, если я попытаюсь запустить это как задание cron, оно будет работать до тех пор, пока я не попытаюсь передать функции, а затем он просто остановится и процесс завершится (если я запустил его непосредственно из каталог, по крайней мере, я получаю некоторые ошибки).
Как мудрый, если я попытаюсь запустить это из другого каталога, я получаю кучу ошибок. например
cd /opt/
/home/me/script.sh
function1: command not found
function2: command not found
Я уверен, что это как-то связано с переменными окружающей среды, но я понятия не имею, какие из них. Я попытался установить (в кронтабе):
PATH=/home/me
SHELL=/bin/bash
Но это тоже не работает. Любая помощь приветствуется. Я не хочу жестко кодировать пути к функциям и вместо этого делать их относительно пути, в котором находится скрипт (желательно, тот же каталог).
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
показать нам script.sh function1 function2 content, и как вы пишете свой crontab – sigmalha