广州葆元健康生物科技有限公司


Shell实现读取ini格式配置文件方法

网络编程 Shell实现读取ini格式配置文件方法 06-22

ini文件格式一般都是由节、键、值三部分组成

格式:

[第一节 ]
第一个键 = 值
第二个键 = 第二个值
[第二节 ]
第一个键 = val1,val2,val3
例子:

[COM]

KINGGOO = gimoo.net

其实这个作用没那么特别大,但多个shell如果每个配置信息都在shell文件里面写,懂的人还好,半懂+不仔细的人要如何改,改几个地方估计脚本就不能运行了。所以这样单独哪出来比较好些,而且可以多个shell使用一个ini文件(与扩展名无关)来做配置也可以的。只需要在shell里面加一个自定义函数就可以了。
# __readINI [配置文件路径+名称] [节点名] [键值]

function __readINI() {

 INIFILE=$1; SECTION=$2; ITEM=$3

 _readIni=`awk -F '=' '/['$SECTION']/{a=1}a==1&&$1~/'$ITEM'/{print $2;exit}' $INIFILE`

echo ${_readIni}

}

使用方法:
__readINI file.ini SECTION KEY

例子:有一个ini格式文件kinggoo.ini,内容如下
[IP]

ip = gimoo.net

[MAILLIST] mail = admin@gimoo.net


脚本文件内容:
#!/bin/bash

# __readINI [配置文件路径+名称] [节点名] [键值]

function __readINI() {

 INIFILE=$1; SECTION=$2; ITEM=$3

 _readIni=`awk -F '=' '/['$SECTION']/{a=1}a==1&&$1~/'$ITEM'/{print $2;exit}' $INIFILE`

echo ${_readIni}

}

# 使用方法:

# Net address

_IP=( $( __readINI kinggoo.ini IP ip ) ) 

echo ${_IP}

# mail send 

_mailList=( $( __readINI kinggoo.ini MAILLIST mail ) ) 

echo ${_mailList}

执行脚本文件既可

当自己使用时,请验证后使用。

Shell脚本实现简单分割字符串
我们有这样一个字符串:info='abcd;efgh'现在想获取abcd和efgh,我们可以简单地用cut工具来获取:fstr=`echo$info|cut-d;-f1`sstr=`echo$info|cut-d;-f2`这里主要是用了cu

Shell实现强制释放内存脚本分享
公司服务器最近两天老是因为内存被使用满而造成死机,实在是受不了老叫机房的人去帮忙重启,专门写了个脚本来释放下内存,当然这台服务器不是太重

Shell脚本实现批量下载资源并保留原始路径
示例资源列表如url.txt:http://su.bdimg.com/static/superplus/img/logo_white_ee663702.pnghttp://su.bdimg.com/static/superplus/img/logo_white_ee663703.pnghttp://su.bdimg.com/static/superplus/img/


编辑:广州葆元健康生物科技有限公司

标签:脚本,的人,文件,第一个,多个