站在用户登录的角度来说,SHELL的类型: 登录式shell: 正常通常某终端登录 su - USERNAME (完全切换) su -l USERNAME
非登录式shell: su USERNAME (半切换) 图形终端下打开命令窗口 自动执行的shell脚本
- 由于你在用户中设置了某些配置后,如果你再次登陆的话,有些配置会还原到一开始的默认配置。那么这个时候就需要来配置bash来设定属于你自己的默认配置!!!
bash的配置文件: 全局配置 /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/basrc --> /etc/profile.d/*.sh
- 例:如何用alias如何定义cls=clear 登出后有效? 首先确定时bashrc类的(设定本地变量), nano .bashrc 加一行 alias cls=clear
- 例:如何在登陆的时候显示一行文字比如“hello welcome!”? 首先确定时profile类的(运行命令或脚本), nano .bash_profile 加一行 echo "hello welcome !"