Я получил интересное поведение в Дженкинс.
Оболочка Дженкинса не использует мои системные локали.
Дженкинс работает как пользователь jenkins
в моей системе.
Вы вошли как jenkins
через SSH:
locale
отображается:
LANG = en_US.UTF-8
LANGUAGE = en_US: en
LC_CTYPE = "en_US.UTF-8" и
т. Д ...
env
показывает LANG
и LANGUAGE
переменные:
LANG = en_US.UTF-8
LANGUAGE = en_US: en
id
показывает идентификатор пользователя:
UID = 1008 (Дженкинс) GID = ...
Введенные выше команды для оболочки работы jenkins:
locale
отображается:
LANG =
LANGUAGE =
LC_CTYPE = "POSIX" и
т. Д ...
env
ничего не показывает LANG
и LANGUAGE
переменные
id
показывает идентификатор пользователя (как и ожидалось):
UID = 1008 (Дженкинс) GID = ...
файлы:
/etc/profile
содержит:
экспорт LANG = en_US.UTF-8
экспорт LANGUAGE = en_US: en
/etc/default/locale
содержит:
экспорт LANG = en_US.UTF-8
экспорт LANGUAGE = en_US: en
Скрипт запуска /etc/init.d/jenkins
должен экспортировать локали системы:
# загрузка окружения
if [-r / etc / default / locale]; тогда
. / etc / default / locale
export LANG LANGUAGE
elif [-r / etc / environment]; тогда
. / etc / environment
export LANG ЯЗЫК
fi
Конечно, я перезагружался после изменения локалей;)
Apache также использует локали
системы. Моя система - установка Ubuntu 14.04.
Я пропустил, чтобы проверить что-то еще?
Спасибо за чтение!
Я надеюсь, что кто-нибудь может помочь :)