~
, /
以下讲解的都是针对用户级别的
~
, 不讲解系统级别的/
。一些用户级别的配置,在系统级别也有相同的配置,就类似于全局变量和局部变量的关系。
~/.bash_profile
每个用户都可使用该文件配置自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,并且执行用户的~/.bashrc
文件。
~/.bash_logout
每次退出
bash shell
时,执行该文件。(测试并未生效,难道是测试姿势不对??)
~/.bashrc
可以在其中配置一些别名等信息,但是配置不会立即生效,必须登录后才会生效。如果要使其立即生效,那么可以执行以下命令:
1 | source ~/.bashrc |
source x.sh
, . x.sh
和 sh x.sh
, ./x.sh
的区别
用source执行脚本文件,执行过程不另开进程,脚本文件中设定的变量在当前shell中可以看到;
用sh执行脚本文件,是在当前进程另开子进程来执行脚本命令,脚本文件中设定的变量在当前shell中不能看到。source
也经常用.
来代替,所以以上四种执行脚本的关系就是:
前面两种是相同的效果
用脚本文件名本身执行(如果shell脚本具有可执行权限)和用sh命令执行脚本的作用完全相同(后面2种是相同的效果)
/etc/profile
类似于
~/.bash_profile
, 不过是系统级别的。
/etc/hosts
配置
host
相关信息