欢迎来到代码驿站!

Shell

当前位置:首页 > 脚本语言 > Shell

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

时间:2021-01-20 14:14:37|栏目:Shell|点击:

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 = admin@jb51.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}

执行脚本文件既可

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

上一篇:linux和windows下的自动ftp脚本(shell bat)

栏    目:Shell

下一篇:深入理解Linux中的grep命令

本文标题:Shell实现读取ini格式配置文件方法

本文地址:http://www.codeinn.net/misctech/47865.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有