2013-11-20 2 views
0

Я бегу сценарий, который содержит LANG набор переменных для «французский», , когда я запустить его вручную сOverride переменную LANG в Баш скрипт

$(pwd)/script_name 

Он отлично работает, например, я вижу «e» переведен правильно, но когда он запускается cronjob, кажется, что переменная LANG установлена ​​на english_us, я вижу «e`» как '?'

Я понятия не имею, почему это происходит, даже при запуске из cronjob скрипт должен установить свой LANG на французский, как это происходит, когда я запускаю его вручную. Любые советы?

+0

Вы уверены, что это не наследует его от вашего .profile? – Barmar

+0

Нет, нет объявления LANG в .bash_profile – JBoy

+0

Вы задаете какие-либо другие связанные с локалью переменные среды в своих '.bash_profile' или' .bashrc'? – Barmar

ответ

1

Вы можете установить переменные окружения прямо в командной строке в пределах вашего кронтаба, например, так:

* * * * * LANG=french script_name 
+0

Вы можете сказать, что в целом , но это не решит проблему – JBoy

0

Мне нужно установить переменное окружение процесса выполняется скрипт, используя «экспорт» так необходимый для be: export LANG = french, получил это от https://superuser.com/a/153378/257000

Смежные вопросы