小编who*_*sit的帖子

Jenkins 不使用系统的语言环境

我在詹金斯有一个有趣的行为。
Jenkins 的 shell 不使用我的系统语言环境。

Jenkinsjenkins在我的系统上以用户身份运行。

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 显示用户ID:

uid=1008(詹金斯) gid=...

将上述命令输入到 jenkins 作业 shell:

locale 显示:

LANG=
LANGUAGE=
LC_CTYPE="POSIX"
等等...

env并没有表现出LANG与LANGUAGE变数

id 显示用户 ID(如预期):

uid=1008(詹金斯) gid=...

文件:

/etc/profile 包含:

export LANG=en_US.UTF-8
export LANGUAGE=en_US:en

/etc/default/locale 包含:

export LANG=en_US.UTF-8
export LANGUAGE=en_US:en

启动脚本/etc/init.d/jenkins应该导出系统的语言环境:

# 加载环境
if [ -r /etc/default/locale ]; 然后
。/etc/default/locale
export LANG LANGUAGE …

shell ubuntu locale bashrc jenkins

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

bashrc ×1

jenkins ×1

locale ×1

shell ×1

ubuntu ×1