服务器特定的环境变量 - /etc/profile 或 /etc/profile.d

服务器特定的环境变量 - /etc/profile 或 /etc/profile.d

我需要为我的 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

相关内容