Ste*_*all 21 configuration environment-variables
我最近发现/etc/environment,这似乎是一种比脚本更标准的设置简单环境变量的方法,但我想知道是否有一种方法可以在 /etc/environment 文件中反向引用环境变量。
也就是说,我有这个:
JAVA_HOME="/tools/java"
GRAILS_HOME="/tools/grails"
GROOVY_HOME="/tools/groovy"
GRADLE_HOME="/tools/gradle"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Run Code Online (Sandbox Code Playgroud)
$JAVA_HOME/bin但是,如果我尝试添加到 PATH 定义中,则会得到 $JAVA_HOME/bin,而不是内插变量。为了解决这个问题,我在 profile.d 中创建了 environment.sh 以将/bin条目添加到路径中,但这似乎草率且杂乱无章。
有没有办法在 /etc/environment 中反向引用环境变量?
Gil*_*il' 14
该/etc/environment文件由pam_envPAM 模块读取。它只支持简单的键值对,右侧没有替换。
如果要使用替换或其他外壳扩展来构建值,则需要通过外壳。/etc/profile(或 中的文件/etc/profile.d)是这些的正确位置。这是传统的地方(/etc/environment在 Unix 系统的历史上是一个相对较新的创新),使用它当然没有什么马虎。其主要好处/etc/environment是即使使用不涉及 shell 的登录方法或使用非 Bourne shell 的用户,它也允许设置环境变量,但这些在实践中并不常见。
| 归档时间: |
|
| 查看次数: |
13354 次 |
| 最近记录: |