登录 shell 的途径
了解两种方式之间的区别,就要先了解 shell 的配置文件:
bash 的配置文件:
- ~/.bash_profile
- ~/.bashrc
- /etc/profile
- /etc/profile.d/*.sh
- /etc/bashrc
- 全局配置文件
- 个人配置文件
由上可知,bash 的配置文件分别为 profile 类文件和 bashrc 类文件:
- 设定环境变量。
- 运行命令或脚本(登录时运行的脚本)。
profile 类文件作用:
bashrc 类文件配置作用:
- 设定本地变量。
- 定义命令别名
了解以上配置文件后,则:
- 登录式 shell 读取配置 文件过程:
/etc/profile–>/etc/profile.d/*.sh–>~/.bash_profile –>~/.bashrc–>/etc/bashrc
- 非登录式 shell 读取配置 文件过程:
~/.bashrc–>/etc/bashrc–>/etc/prodile.d/*.sh
image.png
而登录式 shell 和非登录式 shell 的运行形式如下:
登录式 shell:
- 正常通过某终端登录的 shell。
- su - username。
- su -l username。
非登录式 shell:
- su username。
- 图形终端下打开的命令窗口。
- 自动执行的 shell 脚本。