SHELL读取 ini 格式文件做配置文件

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

格式:

[第一节 ]

第一个键 = 值

第二个键 = 第二个值

[第二节 ]

第一个键 = val1,val2,val3

例子:

[COM]

KINGGOO = kinggoo.com

其实这个作用没那么特别大,但多个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 = kinggoo.com

[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}

执行脚本文件既可

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

时间: 2024-10-13 21:22:58

SHELL读取 ini 格式文件做配置文件的相关文章

如何用.net c# 读取epub格式文件

如何用.net(c#)读取epub格式文件 epub格式是印刷出版界常见的格式,本格式遵循XML原则把网页进行压缩打包. 如何用c#读取epub格式文件是个头疼的问题,本人搜遍各大网站,发现介绍都语焉不详. 因项目中要用的此功能,特做案例整理如下,仅供参考. // 动态库下载地址 https://epubreader.codeplex.com/,添加引用eBdb.EpubReader.dll // 头部增加引用 using eBdb.EpubReader; string fullfile = @

读取xml格式文件

$v = [xml]get-content d:\vmconfig.xml $v.Domain.Computer.Name vmconfig.xml内容: <?xml version="1.0" encoding="UTF-8"?><Domain><Computer><Name>stcmm-vm-s01</Name><IpAddress>192.168.0.2</IpAddress>

matlab读取.mat格式文件

matlab读取.mat格式文件 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存.导入和文件打开.13.1.1 文件的存储 MATLAB支持工作区的保存.用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入.保存工作区可以通过菜单进行,也可以通过命令窗口进行. 1. 保存整个工作区 选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件. 2. 保存工作区中的变量 在工作区浏览

Python读取jsonlines格式文件

Python读取jsonlines格式文件 json lines文件是一种便于存储结构化数据的格式,可以一次处理一条记录.可以用作日志文件或者其他.每条json数据之间存在一个"\n"分隔符. 具体信息可以查看http://jsonlines.org/ 之前爬虫存储数据,使用了这个格式文件,但是在读取的时候,Python内置的json函数,会进行报错: 在网上找到了两个库: 1.jsonlines,文档:https://jsonlines.readthedocs.io/en/lates

python 读取固定格式文件

环境:这几天在使用python开发程序的过程中,需要连接到mysql数据库,而且涉及到不同的服务器和不同的数据库,前期使用测试服来做测试,不想在python程序里频繁去更改数据库的配置信息,于是想到将全部的数据库配置写进一个db.conf文件里去读取,也是基于安全性的考虑. 于是写了一个基于固定格式的文件读取程序,案例如下. 测试文件内容: title1 1,line 1 2,line 2 3,line 3 title2 4,line 4 5,line 5 6,line 6 title3 7,l

读取siftgeo格式文件的matlab程序

% This function reads a siftgeo binary file %读取siftgeo格式的二进制文件 % % Usage: [v, meta] = siftgeo_read (filename, maxdes) % filename the input filename % maxdes maximum number of descriptors to be loaded 要加载的描述子最大数量 % (default=unlimited)%默认无限制 % % Return

java读取ini格式的文件

已上图就是ini文件的格式,经常在配置文件中用到. 1.核心代码: /** * 去除ini文件中的注释,以";"或"#"开头,顺便去除UTF-8等文件的BOM头 * @param source * @return */ private static String removeIniComments(String source){ String result = source; if(result.contains(";")){ result =

Qt读取ANSI格式文件——利用QTextCodec将其他编码格式的QByteArray转换为Unicode格式,或者从文件中读出后直接做转换

t使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec类用于不同编码格式之间的转换.关于Qt字符串格式转换以及QTextCodec的使用方式,网上有很多资料.其中大多数看起来很复杂,甚至根本无法完成转换工作,或者是基于较低的Qt版本编写.因此,有必要对使用QTextCodec完成字符串格式转换进行简要说明,本文中代码基于Qt5.1编写. 其实,在Qt帮助

Qt读取ANSI格式文件——利用QTextCodec将其他编码格式转换为Unicode格式

Qt使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec类用于不同编码格式之间的转换.关于Qt字符串格式转换以及QTextCodec的使用方式,网上有很多资料.其中大多数看起来很复杂,甚至根本无法完成转换工作,或者是基于较低的Qt版本编写.因此,有必要对使用QTextCodec完成字符串格式转换进行简要说明,本文中代码基于Qt5.1编写. 其实,在Qt帮