千家信息网

Linux中.bashrc与.bash_profile有什么区别

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍Linux中.bashrc与.bash_profile有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Interactive Login 和 Non-L
千家信息网最后更新 2026年10月31日Linux中.bashrc与.bash_profile有什么区别

这篇文章主要介绍Linux中.bashrc与.bash_profile有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Interactive Login 和 Non-Login Shell

Bash 被调用时,会从一组启动文件中读取并执行命令,至于读取哪些文件取决于 Shell 是作为交互式登录调用还是作为非登录 Shell 调用。

其实,Shell 可以是交互式的,也可以是非交互式的。简单一点地说,交互式 Shell 是一种读写用户终端的 Shell,而非交互式 Shell 完全是与终端无关的 Shell。 值得注意的是,交互式 Shell 可以是登录 Shell ,也可以是非登录 Shell。

有几种情况可以调用登录 Shell,一种是当用户通过 ssh 或本地方式远程登录到终端,还有就是使用 --login 选项启动 Bash 。比如在 Shell 提示符中键入 bash 或打开新的 Gnome 终端选项卡时。交互式非登录 Shell 从登录 Shell 调用。

Bash启动文件

当 Bash 作为交互式登录 Shell 被调用时,它将查找 /etc/profile 文件,如果该文件存在,它将运行文件中列出的命令。然后 Bash 按以下的顺序搜索 ~/.bash_profile、~/.bash_login 和 ~/.profile 文件,并在第一个找到的文件中执行命令。

当 Bash 作为交互式非登录 Shell 被调用时,它从 ~/.bashrc 文件读取并执行命令,需要指出的是该文件必须存在并且它是可读的才行。

.bashrc 和 .bash_配置文件之间的差异

在 Bash 作为交互式登录 Shell 被调用的情况下,.bash_profile 才会被读取、执行,而 .bashrc 是启动交互式非登录 Shell 时才被执行的。一般使用 .bash_profile 来运行只运行一次的命令,比如运行自定义环境变量 PATH 的命令。

每次启动新 Shell 时应该将运行的命令放在 .bashrc 文件中,这些命令包括别名和函数、自定义提示、历史自定义等。

通常,~/.bash_profile 包含的命令来源于 .bashrc 文件中,示例如下:

这意味着每次登录到终端时,上面两个文件都会被读取并执行其中的命令。

大多数 Linux 发行版都是使用 ~/.profile 而不是 ~/.bash_profile。因为 ~/.profile 文件可以被所有 Shell 读取,而 ~/.bash_ profile 仅能被 Bash Shell 读取。

如果你的系统上没有我上面所讲的这些启动文件,那么你也可以自己创建它们。

以上是"Linux中.bashrc与.bash_profile有什么区别"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

文件 登录 交互式 命令 终端 运行 内容 情况 是非 用户 篇文章 提示 两个 之间 价值 兴趣 函数 别名 历史 取决于 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技社 互联网中国科技 中国 科技 互联网 丰台科技园 互联网 有木互联网科技 亿人帮互联网科技 科技互联网创业计划书 四个字互联网科技公司取名 山东吉时兔互联网科技有限公司 海南科技产业互联网平台 互联网和黑科技的看法 厦门比较好的科技互联网公司 互联网科技革命什么开始 晓花互联网科技有限公司网址 开一家科技互联网公司需要多少钱 山东有哪些互联网科技公司 每天都有哪些好的互联网科技 广东鹅鹅鹅互联网科技有限公司 众联互联网络科技 互联网科技自媒体灵感 互联网科技公司华为 深圳恒合互联网络科技有限公司 互联网公司 科技公司 居家互联网科技有限公司 深圳卡尔迅互联网科技有限公司怎么样 开启互联网科技时代小说 科技互联网大厂 崇明区互联网教育科技售后服务 陕西云淼互联网科技公司 互联网大会出现的黑科技
0