我需要为我的 Jetty 服务器设置一些系统范围的环境变量。
但把它们放在哪里呢?似乎有两个选择
/etc/profile
或者
/etc/profile.d
? 两者有何区别?
答案1
/etc/profile.d 用于让您能够分解配置文件中的某些设置。
例如,我可以将 vi 的设置放在 /etc/profile.d/vi 中,而不是放在 /etc/profile 中。
根据 /etc/profile 顶部的注释
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
以及实际的 profile.d 执行位
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null 2>&1
fi
fi
done