在统信桌面专业版操作系统中,.bashrc、/etc/profile 和 /etc/environment 都是用于设置环境变量的文件,但它们的作用范围和使用场景有所不同。从静态和动态环境文件的角度 ,.bashrc、/etc/profile是动态环境文件, /etc/environment是静态环境文件。
此处对两个概念名词进行说明:
1、交互式非登录 Shell :例如Ctrl+Alt+T打开终端,会读取.bashrc的内容设置的变量。
2、交互式登录 Shell: 如果打开的终端是交互式登录 Shell(如在本地控制台以登录身份启动终端),情况会有所不同。在这种情况下,Bash首先读取的是profile,这些变量对所有用户都有效,并且会在每个用户的Shell会话开始时被加载。
一、家目录下.bashrc环境变量检查当前系统信息
1、整体说明:
.bashrc 是一个位于用户主目录下的隐藏文件。它是一个Bash shell的启动文件,适用于交互式非登录shell。
2、作用范围:
• 用户级别:.bashrc 只对当前用户生效。
• 交互式非登录shell:当你打开一个新的终端窗口或新启动一个Bash shell时,.bashrc 会自动执行。
3、使用场景:
• 设置用户特定的环境变量
• 定义别名(aliases)和函数
• 配置shell提示符
• 加载其他脚本或配置文件
# 设置环境变量
export PATH=$PATH:/usr/bin/python3
二、/etc/profile环境变量
1、整体说明:
/etc/profile是一个系统级别的配置文件,它适用于所有用户。它是Bash shell的启动文件,适用于登录shell。
2、作用范围:
• 级别:系统级别,/etc/profile 对所有用户生效。
• 登录shell:当通过登录(如通过SSH登录)启动一个Bash shell时,/etc/profile 会自动执行。
3、使用场景:
• 设置系统级别的环境变量。
• 配置全局用户登录时需要执行的命令或脚本。
• 加载其他全局配置文件,如 /etc/profile.d/ 目录下的脚本。
三、/etc/environment环境变量
1、整体说明:
/etc/environment 是另一个系统级别的配置文件,但它与 /etc/profile 不同。它只包含环境变量的声明,不支持脚本或命令执行。
2、作用范围:
• 系统级别:/etc/environment 对所有用户生效。
• 静态环境变量:所有环境变量在系统启动时加载,适用于所有进程。
3、使用场景:
• 设置全局环境变量,这些变量对所有用户和所有进程生效。
• 适用于静态环境变量,不需要动态执行脚本或命令。
四、总结
三种环境变量的总结说明:
-
.bashrc:只适用于当前用户,交互式非登录shell,用于设置用户特定的环境变量。
-
/etc/profile:适用于所有用户,登录shell,用于设置系统级别的环境变量和加载全局配置文件。
-
/etc/environment:适用于所有用户和所有进程,属于静态环境变量。
4967

被折叠的 条评论
为什么被折叠?



