Ubuntu 读取 .bashrc 和 .bash_profile 档案的时机

由于阿舍开始大量使用 alias 的时机,是在经常使用没有图型介面的 Ubuntu Server 之后开始的,因此,阿舍都是用 SSH 连进去的,所以,阿舍就理所当然的认为,一些常用的 alias 要写在 .bash_profile 这个档案里才会有作用的,然后,当阿舍回到图型介面的终端机之后,就发现,事情好像不是这样子的哩 !



原来,这个 .bash_profile 是要透过登入的方式进入 Shell 时,系统才会去读 .bash_profile 这个档案,而像阿舍是进 X Window 后再打开终端机来进入 Shell 的话,那就不会去读 .bash_profile 这个档,而是会去读 .bashrc 这个档案,所以,阿舍设定在 .bash_profile 的 alias 和 function 就没有用了哩 !

 手动执行 bash 也会载入 .bashrc 

后来,阿舍再查了一下才知道,这 .bash_profile .bashrc 两个档的读取时机是以 Login Shell Interactive Shell 来区分的,简单说,就是登入时启动的是会自动载 .bash_profile,而登入之后才启动 Shell 的话,就会去读 .bashrc 这个档,所以,如果你手动执行执行 bash 指令的话,也是会去载入 .bashrc 的哩 !


那如果有用图型介面的话,那不就每次都要去设定两个档吗 ? ... 阿舍一开始也是这样想的,不过,后来想一想,阿舍怎么那单纯哩 ! 就都设定在 .bashrc 档,然后,在 .bash_profile 加入下面这一行来把 .bashrc 档给载入不就好了吗 .....

. ~/.bashrc

or

source ~/.bashrc
共享:

没有评论 :

发表评论