shell脚本读取变量方法[zz]

roby on 10月 - 13 - 2009

近期的一个工作目标是调整和优化脚本,以便提高可维护性和执行的灵活性,由于每一个shell脚本都是建立一个子shell来运行,shell之间无法共享变量,补救的办法是通过配置文件来充当中介,找到一篇实现的文章(关键字似乎不太好搜,有很多无关的文章),转载之,原文如下:
最近总需要写一些shell脚本,扔到linux上执行,有的时候写的脚本比较多,而这些脚本都会用到一些公共的变量,比如路径的配置等等,如果每个脚本里都写上一遍,等到环境变了修改起来很麻烦,本人对shell的理解也在逐渐学习中,这里说一种目前我较常用的解决方案。

1.将变量统一写到一个文件中,如param.list ,格式有点像java中的properties ,采用名值对的形式,只不过value前要加上空格,如name=#value(因为看的不是很清楚,所以使用#代替空格,正式使用时将#替换为空格).

举例如下:

JAVA_PATH=#/usr/local/jdk6/bin

TOMCAT_HOME=#/usr/local/tomcat

2.在各个脚本文件中读取时使用如下命令

java_path=`awk ‘/JAVA_PATH=/{print $2}’ param.list `

说明:使用awk命令,读取 param.list ,将包含“JAVA_PATH=”的行取出,并只取出该行的第二列内容(以空格分隔,所以name是第一列,value就是第二列),这里要注意 param.list 的路径问题。

这样一来,如果变量发生变化,只需要修改 param.list即可。

文章来源:shell脚本读取变量的方法

No Comments for this post

还没有评论。

Leave a comment

Name (required) Comment
Mail (required)
Website