ini文件格式一般都是由节、键、值三部分组成
格式:
[第一节]
第一个键 = 值
第二个键 = 第二个值
[第二节]
第一个键 = val1,val2,val3
例子:
[COM]
KINGGOO = kinggoo.com
其实这个作用没那么特别大,但多个shell如果每个配置信息都在shell文件里面写,懂的人还好,半懂+不仔细的人要如何改,改几个地方估计脚本就不能运行了。所以这样单独哪出来比较好些,而且可以多个shell使用一个ini文件(与扩展名无关)来做配置也可以的。只需要在shell里面加一个自定义函数就可以了。
1 2 3 4 5 6 |
# __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} } |
使用方法:
1 |
__readINI file.ini SECTION KEY |
例子:有一个ini格式文件kinggoo.ini,内容如下
1 2 3 4 5 |
[IP] ip = kinggoo.com [MAILLIST] mail = admin@kinggoo.com |
脚本文件内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/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} |
执行脚本文件既可
当自己使用时,请验证后使用。
- THE END -
Category: Shell
长知识了