启动应用程序似乎没有加载 /etc/bash.bashrc

启动应用程序似乎没有加载 /etc/bash.bashrc

我知道有人问过这种问题

帮助我理解 .profile、.bashrc 等

登录时获取的脚本序列

但我很难理解这一点。

我设置了一台 Ubuntu 机器,以便它作为从属连接到 Jenkins。在这台机器上,我编辑了 /etc/bash.bashrc 并使用附加工具导出了 PATH。

当我运行终端(从 GUI)并执行

echo $PATH

我看到了 PATH 上的额外值。

当我运行 sh 脚本(从 GUI)时,它会执行

echo $PATH

缺少额外的值。

如果通过“启动应用程序”执行相同的脚本,PATH 中也会缺少额外的值。

由于我使用这种方法连接到 Jenkins,这对我来说是一个问题。这意味着我的构建工作失败了。

我发现的唯一“修复”方法是将值添加到 /etc/environment。当放置在此处时,PATH 上的额外条目会出现在两种情况下。

但是... 只有在用户重新登录/重启后才会发生。这并不理想。

我如何配置机器以便在所有场景中将额外的条目添加到路径中?

仅供参考:我正在使用 Chef 来配置机器,因此需要设置这些变量。

答案1

通过设置环境变量/etc/bash.bashrc不会使它们在图形环境中可用。我建议您改为创建文件/etc/profile.d/myvars.sh并从那里设置变量。/etc/profile.d带有.sh扩展名的文件夹中的文件由显示管理器获取,并使其在整个会话(包括图形环境)中可用。

参考:环境变量

相关内容