启动bash时会读取指定的配置文件,以规划bash的工作环境。
系统配置文件,设置所有用户的环境
/etc/profile /etc/profile一般来说设置的变量主要有以下 PATH 根据用户标识符(UID)决定要不要将系统命令目录/sbin加入到PATH MAIL 根据账号设置mailbox->/var/spool/mail/账号 HISTSIZE 历史命令记录条数, 一般为1000 USER HOSTNAME 调用的外部数据 /ert/profile.d/*.sh, 并且具有r权限, 则会被/etc/profile调用 这个目录指定了操作接口的颜色, 命令的别名等, 可自行新建sh文件并设置一些共享的命令别名
用户配置文件,即个人设置文件
1. ~/.bash_profile 2. ~/.bash_login 3. ~/.profile 调用的外部数据 ~/.bashrc /etc/bashrc
仅会读取上述文件中的一个,读取的顺序则是按照上面的顺序
读取配置文件
修改完配置文件后,需要在下次登录后才能生效,可利用如下命令重新读取配置文件
source ~/.bashrc . ~/.bashrc
login与non-login shell
login shell
定义:需要完整的登录流程,即需要输入账号和密码
配置文件:按顺序读取以下配置文件
1. /etc/profile
2. 用户配置文件, 即~/.bash_profile, ~/.bash_login, ~/.profile中的一个
non-login shell
无需重复登录就取得bash接口的,如图形化中直接打开终端,终端中直接输入bash
配置文件:仅会读取~/.bashrc
profile和bashrc区别
profile文件用来设置环境变量,如设置PATH
专门用来给 bash 做初始化的,比如用来初始化 bash 的设置,bash 的代码补全,bash 的别名, bash 的颜色
bashrc就好像bash shell的构造函数,每次打开shell窗口时就会执行
参考链接
https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/90.html