春

春夏秋冬平平安安

A text-focused Halo theme

  • 首页
  • 关于
主页 shell脚本学习之路
文章

shell脚本学习之路

发表于 2026-02-11 更新于 2026-02- 11
作者 Administrator
6~7 分钟 阅读

一、shell配置文件执行顺序

在CentOS(以bash作为默认shell为例),shell配置文件的执行顺序取决于shell的启动方式(登录shell or 非登录shell、交互式 or 非交互式)

登出的时候才会把历史命令写到.bash_history里面

1.1. 登录shell(login shell)

触发场景:

  • 通过ssh登录

  • 使用su - username(带 - 参数)

  • 在tty1~tty6终端直接登录

配置文件加载顺序:

  1. /etc/profile

系统全局配置,设置环境变量(如PATH、USER等)。

  1. /etc/profile.d/*.sh

加载/etc/profile.d/ 目录下的所有.sh脚本(按字母顺序)。

  1. 用户级配置文件(按优先级只加载一个):

  • ~/.bash_profile (优先)

  • ~/.bash_login (如果.bash_profile不存在)

  • ~/.profile (如果前两者都不存在)

  1. ~/.bash_profile 通常会显式加载 ~/.bashrc

if [ "$BASH" ]; then
  if [ -f ~/.bashrc ]; then
    . ~/.bashrc
  fi
fi
  1. /etc/bashrc

  2. 退出时(logout)

  • ~/.bash_logout 如果存在

1.2. 非登录shell(Non-Login shell)

触发场景:

  • 在终端直接运行bash命令

  • 图形界面打开的终端

  • 使用 su username (不带 -参数)

配置文件加载顺序:

  1. ~/.bashrc

用户级配置(别名、函数、自定义提示符等)。

  1. /etc/bashrc(部分系统可能是/etc/bash.bashrc)

系统级bash配置(通常由~/.bashrc显式加载)

不会运行profile文件,只执行.bashrc文件,.bashrc文件可能再执行一下/etc/bashrc

许可协议:  CC BY 4.0
分享

相关文章

下一篇

kafka Kraft模式k8s集群搭建

上一篇

shell重定向知多少

最近更新

  • shell重定向知多少
  • shell脚本学习之路
  • kafka Kraft模式k8s集群搭建
  • 达梦数据库主备集群搭建
  • RocketMQ proxy

热门标签

Halo shell linux

目录

©2026 春夏秋冬平平安安. 保留部分权利。

使用 Halo 主题 Chirpy