阶段总结 ———— linux shell 解析ini配置文件

本文介绍如何使用bash和awk脚本从.ini文件中提取特定部分的数据,具体以[Database]节为例,展示了如何获取HOST_NAME、USER_NAME、USER_PASSWORD、DATABASE_NAME等关键参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

比如说有这么一份ini文件,test.ini,记录了下面这些内容:

[Database]
HOST_NAME=localhost
USER_NAME=root
USER_PASSWORD=12345
DATABASE_NAME=test
Capacity=4294967296
Revmax=7
[Storage]
Storage-Url=https://10.xx.xx.xx:8080/auth/v1.0
Storage-User=test:xxx
Storage-Key=test
Storage-Container=test


现在我想用shell来抓出里面的[Database]下的USER_NAME、USER_PASSWORD、DATABASE_NAME,

那么可以这么写脚本,里面用到了awk,关于awk没有深入研究,我也是查到一些资料完成这个功能而已,


#!/bin/bash  
CONF_FILE_PATH="/usr/local/myConf/test.ini"  
INI_USER_NAME=""  
INI_USER_PSW="“  
INI_DB_NAME=""  
  
function getUserInfo()  
{
  INI_USER_NAME=$(awk -F '=' '/\[Database\]/{a=1}a==1&&$1~/USER_NAME/{print $2;exit}' ${CONF_FILE_PATH})  
  INI_USER_PSW=$(awk -F '=' '/\[Database\]/{a=1}a==1&&$1~/USER_PASSWORD/{print $2;exit}' ${CONF_FILE_PATH})
  INI_DB_NAME=$(awk -F '=' '/\[Database\]/{a=1}a==1&&$1~/DATABASE_NAME/{print $2;exit}' ${CONF_FILE_PATH}) 
}

#echo .......  


以上,仅作参考


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值