如果每次运行脚本的时候都能够启动一个新的bash shell(即便只是某个用户启动了一个bash shell),将会非常的方便。有时候,你希望为shell会话设置某些shell功能,或者只是为了确保已经设置了某个文件。
回想一下当用户登入bash shell时需要运行的启动文件(参见第6章)。另外别忘了,不是所有的发行版中都包含这些启动文件。基本上,依照下列顺序所找到的第一个文件会被运行,其余的文件会被忽略:
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.profile
因此,应该将需要在登录时运行的脚本放在上面第一个文件中。
每次启动一个新shell时, bash shell都会运行.bashrc文件。可以这样来验证:在主目录下的.bashrc文件中加入一条简单的echo语句,然后启动一个新shell。
$ cat .bashrc
if [ -f /etc/bashrc ]; then
. /etc/bashrc
echo "I'm in a new shell!"
$ bash
I'm in a new shell!
$ exit
.bashrc文件通常也是通过某个bash启动文件来运行的。因为.bashrc文件会运行两次:一次是当你登入bash shell时,另一次是当你启动一个bash shell时。如果你需要一个脚本在两个时刻都得以运行,可以把这个脚本放进该文件中。
本文是之前的watchdate的shell脚本的改进wdate,同样先上图:1)脚本加入chkconfig管理head -5 /etc/init.d/wdate#!/bin/bash
#auth:[email protected]
#wdateStart/Stopthewatchdatedaemon
#chkconfig:234571...