crontab в SunOS

bash crontab SunOS

Необходимо в crontab задать скрипт, в котором должны прочитаться некоторые переменные окружения.

Запускаю через crontab скрипт, в котором есть строка:
source ~/.bashrc (вместо .bashrc может быть любой другой файл, не принципиально).
В .bashrc задаю переменную:
TESTVAR="test var";
crontab отрабатывает, но echo $TESTVAR ничего не возвращает.
Если скрипт запустить отдельно, тогда всё работает.
Почему так?

Примечание:
Не совсем ясно, что имеется ввиду по пространством имён?

Ах да.. совсем забыл, в .bashrc имеются две строчки:
TESTVAR="test var"
export TESTVAR
Т.е. я хочу сказать, что export я использовал изначально, но переменных не видно при этом.
Ответы:
Может, переменные оказываются в разных пространствах имён?
~/.bashrc читается, если не путаю во время логина конкретного пользователя. А во время выполнения cron-задания логина как такового не происходит. В лучшем случае переключаются идентичность пользователя.
Поэтому в исполняемом скрипте перед выполнением основной команды нужно провести чтение файла с переменными окружения. Или пользоваться только теми переменными, которые установлены до выполнения задания.
Процесс cron выполняется от имени рута и естественно процессы которые он порождает выполняются в своем окружении.
Поэтому попробуй
export TESTVAR="test var"


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.