Linux shell 启动配置文件设置
安装一个软件,最后生成的报告中,要求“To start using the EGSnrc system, activate your current configuration
by adding the following lines to your favorite shell resource file: ”
刚开始没明白Shell resource file是什么意思。后来搜索才发现原来就是环境变量的配置文件。
每个shell的启动,执行命令和程序的机制,如何处理命令和程序的输入输出,以及任何编程都受到某些环境变量设置的影响.每个系统都有一个初始的系统启动文件,通常是/etc/profile.这个文件包含了对shell和其他一些实用程序起作用的重要环境变量的初始设置.另外特定的shell还有一些隐藏的文件和点文件在你启动该shell的时候执行,这些文件也叫shell的启动文件,通常是一用户的主目录下的~/.profile,或者是一个特定shell的profile或login文件.例如bash的profile汉蚻ogin文件通常是~/.bash_profile与~/.bash_login。
当启动一个bash时,配置文件的调用顺序:
/etc/profile (for all users).
Then all the files in the /etc/profile.d directory.
Then ~/.bash_profile, ~/.bash_login, ~/.profile.
Then ~/.bashrc.
当登录bash退出时,它将执行~/.bash_logout文件中的命令。
/etc/profile.d/ 用来存放不同应用配置文件的地方.
For example, I always use SSH for CVS (cf. RSH). So I use:
echo “export CVS_RSH=ssh” >> /etc/profile.d/cvs.sh
chmod +x /etc/profile.d/cvs.sh
创建了新的配置文件,将它要求的语句放进去,然后重新登陆,ok!
当启动一个交互的Bash时,它将执行~/.bashrc文件中的命令(如果该文件存在并且可读).当非交互地启动以运行一个shell脚本时,bash将查找bash_env环境 确定执行文件的名称。
如果你使用的是TC Shell,它将执行/etc/csh.cshrc或 etc/.chsrc文件中的命令(如果该文件存在并且可读).登录shell然后将执行/etc/csh.login文件中的命令(如果该文件存在并且可读), 然后将执行~/.tcshrc文件(假如~/.tcshrc不存在就是 ~/.cshrc文件)中的命令,并读取~/.history文件的内容.登录shell将执行~/.login和 ~/.cshdirs文件中的命令。
当一个TC shell退出时,它将执行/etc/csh.logout和 ~/.login文件中的命令(如果该文件存在并且可读)。