从初始化文件谈Linux系统的Shell编程
在作为LoginShell的Bash启动之后,两个文件会被连续读入,由LoginShell解释实行。开始是全用户共通的初期化文件[/etc/profile],接着是各用户根目录下的[.bash_profile]Linux安装之后,多数情况下会在各用户根目录下设置.bash_profile文件,自己的根目录下有没有此文件,用[ls -a] 确认,如果没有的话,Bash把怎么样处理请参照本节的附录。 /etc/profile,.bash_profile之中典型的处理内容是:PATH,USER等重要的环境变数的设定,程序异常终了时croe文件的大小的限制,新建文件的读写属性等。具体的/etc/profile,.bash_profile文件的内容在后面把详细介绍。 3.2 二级Shell利用的初期化文件 像X Window System的 kterm等软件启动时启动的Shell,由于也可以接受用户的命令,所以也叫对话式Shell当二级对话式Shell启动时,会自动读入用户根目录下的.bashrc,由调用的Shell解释并执行。一般地说,全用户共通的设定记述在/etc/bashrc中,但/etc/bashrc不能被自动读入,必须由.bashrc指示才能被读入。具体的可以用Bash的source命令或[.]实现,如在.bashrc中做如下记述:
注:"-f" 是文件是否存在的判断条件。 /etc/bashrc,.bashrc之中典型的处理内容是:一般环境变数的设定,组合变数[PSI]的设定,别名的定义,Shell涵数的定义,端末设定的变更等。 3.3 两种初期化文件的合理的分别利用 在各用户的根目录下有两个初期化文件:.bash_profile和.bashrc,如果相同的内容在两个文件中都写的话,就会造成不必要的重复和修改上的麻烦,怎么样才能合理的分别使用呢,基本原则是: *在.bashrc中不会发生冲突的尽量在.bashrc中记述,从.bash_profile中唤起.bashrc。 *Login时执行一次就行的命令和二级对话式Shell启动时反复执行会发生坏影响的命令在 .bash_profile 中记述,在.bash_profile中唤起.bashrc。的方法和从.bashrc读入/etc/bashrc 的方法一样,在.bash_profile中做如下记述:
附录: .bash_login 和.profile 如果用户根目录下没有.bash_profile文件时,Bash会在根目录下查找 .bash_login,如果 .bash_login 不存在的话,Bash会在根目录下继续查找.profile文件。 其实,这些文件都是从 C shell(.login), Bourne shell (.profile)来的,都是只有LoginShell利用的初期化文件。不同的是,.profile是Bourne shell 和Bash 都可以利用的初期化文件。从各初期化文件分开使用的方面来看,设置一个Bash 专用的.bash_profile比较合适。 ()
上一篇:Gartner分析家谈对开源数据库的研究 下一篇:讲叙Linux系统之Shell编程基础知识 更多相关文章
|
推荐文章
精彩文章
|