linux中的shell编程实验报告(shell的用户环境配置文件浅析1)(1)

今天在一个新环境里跑清算程序,遇到一个奇葩的bug,排查了很长时间,最终发现是环境变量的问题。子进程在通过execvp调用其他可执行程序时报错“找不到该可执行程序”,经检查环境变PATH有一个路径有误。顺便看了下该环境的用户环境配置文件,发现有多个文件都对PATH进行了配置,有些乱,下面就理一下这些配置文件的区别。

1 .bash_profile、.bashrc、.bash_history 和 .bash_logout

这三个bash shell的用户环境配置文件位于用户主目录下使用ls -la 可以查看。.profile(由Bourne shell和Korn Shell使用)和.login(由C Shell使用)两个文件是.bash_profile的同义词,目的是为了兼容其它Shell。在Debian中使用.profile文件代 替.bash_profile文件。

/etc/profile ~/.bash_profile ~/.bash_login ~/.profile

/etc/bashrc

,