1.配置文件说明
系统级的配置文件
配置文件 |
描述 |
/etc/profile |
系统级的全局配置文件,在用户登录时由Bash首先读取(如果是登录 shell)。 |
/etc/profile.d/* |
这里面的脚本通常由/etc/profile调用,用于更灵活地进行系统级的环境变量设置和初始化任务等。 |
/etc/bashrc |
为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取,有些linux版本中的/etc目录下已经没有了bashrc文件。 |
用户级的配置文件
配置文件 |
描述 |
~/.bash_profile |
用户级的登录shell配置文件,如果存在,在用户登录时被读取。 |
~/.bash_login |
如果~/.bash_profile 不存在,Bash 会尝试查找这个文件作为用户级登录 shell 的配置文件。 |
~/.profile |
如果前两者都不存在,就执行这个文件作为用户级登录shell的配置文件。 |
~/.bashrc |
在某些情况下,如从登录shell启动一个新的交互式非登录shell,或者在~/.bash_profile (或其他登录shell配置文件)中显式调用时,这个文件会被读取执行,用于设置交互式非登录shell的环境和别名等。 |
~/.bash_login |
是一个用户级的 Bash 配置文件,主要在用户退出Bash会话(尤其是交互式登录 shell 会话)时执行。 |
2.加载顺序
shell交互式登录
非shell交互式登录
- 1.如通过某些特殊方式启动非交互式shell并明确指定加载
~/.bashrc
。
- 2.或者从一个已经加载了
~/.bashrc
的交互式shell启动非交互式shell且有机制将当前环境传递给新的shell,可能会间接导致~/.bashrc
的部分效果在非交互式shell中体现。
3.示例
~/.bash_profile
#!/bin/bash
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
~/.bashrc
#!/bin/bash
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· 深度对比:PostgreSQL 和 SQL Server 在统计信息维护中的关键差异