科普:bash_pfofile、bash_logout和bashrc区别

  • .bash_profile 类似于编程中的构造函数,当登录shell时,shell会寻找该文件做环境初始化。
  • .bashrc 是.bash_profile的替补。
  • .bash_logout 类似于编程中的析构函数,当登录shell退出时,shell会寻找该文件,并按其指示办事。

 

.bash_profile文件

.bash_profile是最重要的文件,该文件在用户每次登录到系统时被读取,其中包含的命令被bash执行。

该文件定义了用户登录账号的基本环境:包括PATH的路径及一些alias别名设置等。

如果更改了自己.bash_profile文件的内容,那么直到退出并再次登录,该文件被重新读取后,更改才会生效。如果您性子较急的话,请使用 source .bash_profile 让其更改立即生效。

 

.bashrc文件

上面介绍了.bash_profile,那么.bashrc又是干啥的?

.bash_profile文件只被登录shell读取并执行,也就是说,如果您的初始shell为cshell。那么当您执行bash切换到bash环境时,并不会读取.bash_profile。此时读取的是.bashrc文件。

 

.bash_logout文件

.bash_logout文件是在每次登录shell退出时被读取并执行。

该文件提供了定制用户环境的功能。即如果执行诸如删除账号内临时文件或记录登录系统所花时间等命令,则可将这些命令放在.bash_logtou内。

如果该文件不存在则退出时不再执行其他命令。