华域联盟 linux shell Shell实现读取ini格式配置文件方法

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

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

格式:

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

复制代码 代码如下:

[COM]
KINGGOO = jb51.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 = jb51.net

[MAILLIST] mail = [email protected]

脚本文件内容:


复制代码 代码如下:

#!/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实现读取ini格式配置文件方法

转载请保留出处和原文链接:https://www.cnhackhy.com/16721.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部