- 1. shell配置文件的位置
最常用的shell有sh和bash等,此处只讲sh和bash
1.1. sh(Bourne Shell)配置文件主要有两个,分别为每个用户主目录中的.profile文件以及/etc/profile文件,前者是用户独有的,后者是所有用户共有的;.profile是在profile(有点复杂,不太明白)之后运行的,不具体讲解
1.2. bash(Bourne-Again Shell)配置文件主要有5个,其中4个位于用户主目录中,有一位位于/etc中;
bash_history 操作历史命令存放文件,只有当注销时,才会把用户登录过程中的操作命令写入到文件中,登录过程中执行的命令,不会立即写入文件,而是写在内存中。
.bash_logout文件在当前用户每次退出shell时执行,如果没特别要求,该文件内容为空
.bash_profile用来保存每个用户自己使用的shell信息;常用来设置环境变量,执行用户的.bashrc文件;下面的代码是某root用户的
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH.bash_profile文件内容从上面的代码可以看出,第5行调用用户主目录中的./bashrc文件,第10行设置PATH系统变量;第12行将系统变量导出
./bashrc包含专属于某个用户的bash的相关信息,下面的代码是某root用户的.bashrc文件内容
# .bashrc # User specific aliases and functions alias rm=‘rm -i‘ alias cp=‘cp -i‘ alias mv=‘mv -i‘ # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi export PATH=/usr/local/arm/4.3.2/bin:$PATH从上面内容可知,该文件主要用于定义别名和函数,例如第5行定义了别名;另外第11行还调用/etc/bashrc,第14行还设置PATH系统变量
/etc/bashrc与sh中的/etc/profile文件非常相似,它是所有的用户共同使用的文件,任何用户登录bash都会执行
作用:
1) 定义PS1(命令提示符)变量
2) umask
3) 定义PATH变量
4) 调用/etc/profile.d/*.sh文件
注意: linux不建议用户直接修改/etc/profile或者/etc/bashrc文件,应该尽量将用户的配置放在用户主目录中的对应文件中
2. 命令
2.1. source命令
[[email protected] ~]# source /etc/profile #让/etc/profile配置文件生效 [[email protected] ~]# ./etc/profile #与上面的命令效果一样功能:在当前bash环境下读取并执行配置文件中的命令
3. 环境变量文件执行顺序
这个流程图还是不太明白!!如果各位知道的话,留下一个连接,在此谢过各位了!!