-
/etc/environment
-
用途:用于定义系统范围内的环境变量。
-
格式:仅支持简单的 KEY=value 形式,不支持 Shell 脚本语法(如条件判断、变量替换)。
-
加载时机:在所有用户登录(无论是图形界面还是终端)的会话中加载,适用于图形界面和命令行环境。
-
作用范围:全系统有效,对所有用户和所有会话生效。
-
优缺点:简单直接,非常适合定义全局性的、对所有用户都适用的环境变量,但不适合复杂配置。
-
-
/etc/profile
-
用途:用于配置全局的 Shell 环境变量,适用于所有用户的 Shell 会话。
-
格式:是一个完整的 Shell 脚本文件,可以包含复杂的 Shell 语法、命令、条件判断和变量替换。
-
加载时机:每当用户通过终端(TTY、SSH)登录时,Shell 会执行该文件。只在登录时加载一次。
-
作用范围:对所有用户的交互式 Shell 会话有效。
-
优缺点:灵活,适合需要复杂配置的场景,但只在 Shell 登录会话中生效,不适用于图形界面的非 Shell 环境。
-
-
~/.bashrc
-
用途:用于配置当前用户的非登录交互式 Shell 环境变量。这些变量和设置在启动每个新的 Shell 会话时加载。
-
格式:是用户级别的 Shell 脚本文件,可以包含复杂的 Shell 语法。
-
加载时机:每当用户启动一个新的非登录 Shell(如打开一个新终端)时,系统会自动加载 ~/.bashrc。
-
作用范围:仅对当前用户的非登录 Shell 会话有效。
-
优缺点:适合用户个人配置,灵活且仅对当前用户生效,但不适用于图形登录或系统范围设置。
-
-
~/.profile
-
用途:用于配置当前用户的登录 Shell 环境变量。在 Ubuntu 上,~/.profile 主要用于设置用户级别的环境变量,同时适用于登录 Shell 和图形会话。
-
格式:是用户级别的 Shell 脚本文件,可以包含复杂的 Shell 语法。
-
加载时机:在用户登录时加载一次,适用于登录 Shell 和图形界面会话。
-
作用范围:仅对当前用户的登录 Shell 会话和图形登录会话有效。
-
优缺点:适用于配置用户个人的登录环境变量,能够覆盖 /etc/profile 中的全局设置。
-