【Linux】shell脚本灵活使用ini配置文件

举报
huahua.Dr 发表于 2020/12/17 09:37:06 2020/12/17
【摘要】 我们在liunx上使用脚本经常碰到需要读取自定义配置文件来执行脚本,实现可配置化执行脚本,增加灵活性,ini配置文件是windows经常在bat脚本使用,那么在liunx上也能灵活使用。

前言

我们在liunx上使用脚本经常碰到需要读取自定义配置文件来执行脚本,实现可配置化执行脚本,增加灵活性,ini配置文件是windows经常在bat脚本使用,那么在liunx上也能灵活使用。

常用的ini配置文件格式

[module1]    # 根据[]来划分一个个模块的配置项
key1=value1  # 使用key-value键值对进行配置,方便读取
[module2]
key2=value2

shell脚本读取方式

1. 创建readIni()函数,$1,$2,$3为传递的参数,文件名($1),模块字段名($2),建key($3),根据这三个参数读取ini文件中指定的模块字段中key对应的value值

function readIni()

    FILENAME=$1; SECTION=$2; KEY=$3
    RESULT=`awk '/\['$SECTION'\]/{a=1}a==1&&$1~/'$KEY'/{print $1}' $FILENAME | grep $KEY= | awk -F '=' '{print $2;exit}'`
    echo $RESULT
}

备注:

(1)awk:为对指定文本进行处理分析命令

(2)/\['$SECTION'\]/:表示正则匹配第一个[$SECTION]的匹配项,反斜杠\用于转义,'$SECTION'为变量

(3)

2. 自定义ini文件路径

ini_path=./file.ini

3. 调用readIni函数,传入指定的ini文件($ini_path),模块字段名(module1),获取key1对应的value值并赋予给key1_value变量。

key1_value=$(readIni $ini_path module1 key1)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。