文章一:
文章二:
.bash_profile非常重要,你每次登录shell的时候都要去读这个文件(并且只在登录时读取)。查看该文件,可能是如下内容:
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
SHELL=/bin/bash
MANPATH=/usr/man:/usr/X11/man
EDITOR=/usr/bin/vi
PS1='\h:\w\$ '
PS2='> '
export EDITOR
你可以用vi或者emacs对其进行编辑(建议不要更改原来的内容,只要把你要写的内容添加在后面就行,或者在进行编辑之前对其进行备份)。修改完并不会立即生效,系统必须re-read一下才行。你可以退出并重新登录系统,或者用source .bash_profile命令使之生效。
.bash_logout相反,每次退出shell的时候才去读这个文件(并且只在退出时读取)。如果你需要在退出系统的时候执行一些命令,比如清除一些临时文件,清除一些日志,你可以把命令写入该文件。该文件并不是必须存在的,当你发现你的账号没有这个文件,那么意味着你退出系统的时候,没有指定的额外的命令需要执行。
各种版本的shell命名.bash_profile这个文件的方式有所不同。所以当你看到.bash_login,它就对应前文所提的.bash_profile。如果你使用bash登录,bash首先回去寻找.bash_profile文件,如果该文件不存在,则会自动寻找.bash_login,如果还是不存在,则自动再去寻找 .profile 文件。
文章三:
经常有人问我.bashrc和.bash_profile的区别,在这里把它写出来。
.bash_profile是在登陆的时候才会执行的,它也可以叫做.bash_login,也就是说你在命令行再运行bash命令的时候是不会执行这个文件里面的命令的。
而.bashrc恰好相反,是在执行子shell(sub-shell)的时候才会执行里面的命令。
现在默认的.bash_profile大多都有这么一句:
# Get the aliases and functions
if
[
-
f
~/
.bashrc ]; then
.
~/
.bashrc
fi
所以登陆的时候也会执行到.bashrc里面的命令。