bash登录类型:
交互式登录shell进程:
直接通过某终端输入密码和账号登录打开的shell进程
使用su - USERNAME执行的登录切换 或者 su -l USERNAME (命令为小写L)
非交互式登录shell进程:
su unsername 执行登录切换
图形界面下打开的终端
运行脚本
配置文件类型:
profile类:为交互式登录的shell进程提供配置
bashrc类:为非交互式登录的shell进程提供配置
profile类
全局:对所有用户都生效
所在位置
/etc/profile/
/etc/profile.d/*.sh
用户个人的
所在位置 ~/.bash_profile
功用:1、用于定义环境变量;2、用于运行命令或脚本
bashrc类
全局: 所在位置 /etc/bashrc
用户个人:所在位置 ~/.bashrc
功用:1、定义本地变量;2、定义变量别名
注:只有管理员可以修改全局变量文件
配置文件读取次序:
交互式登录shell进程: /etc/profile/profile.d/*.sh --->/.bash_profile(用户家目录下的配置文件) --->/.bashrc -->/etc/bashrc
非交互登录shell进程:~/.bashrc(用户家目录)-->/etc/bashrc--->/etc/profile.d/*.sh
命令行中定义的特性,作用域为当前shell进程的生命周期
配置文件定义的特性,作用域为下次启动shell进程生效
配置文件中定义的特性立即生效的方法:
1、在命令行重复定义一次
2、让当前shell进程重新读取一遍
~]# source /path/from/conf_file (此路径为配置文件路径) 或者 用 ~]# . /path/from/conf_file (这个命令里的点 就是source命令)