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 = admin@kinggoo.com
脚本文件内容:
- #!/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学习教程网
SHELL读取 ini 格式文件做配置文件的更多相关文章
- shell解析ini格式文件
功能 本脚本实现了ini文件中的查询修改指定value 百度云连接地址 链接:https://pan.baidu.com/s/12_T5yST7Y3L1H4_MkVEcvA 密码:fo5p 解压后先看 ...
- 使用jsp读取TXT格式文件
<%@page import="java.io.BufferedReader"%> <%@page import="java.io.FileReader ...
- C语言解析Ini格式文件
引用别人的博文: http://www.open-open.com/lib/view/open1402278076447.html 可以解析 INI 格式的字符串.解析文件.保存到文件. 下面是头文件 ...
- 读取siftgeo格式文件的matlab程序
% This function reads a siftgeo binary file %读取siftgeo格式的二进制文件 % % Usage: [v, meta] = siftgeo_read ( ...
- Qt读取ANSI格式文件——利用QTextCodec将其他编码格式的QByteArray转换为Unicode格式,或者从文件中读出后直接做转换
t使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec类 ...
- php读取ini(init)文件
<?php header('content-type:text/html;charset=utf-8'); //读取.init文件 $config_file_path = './config/d ...
- Qt读取ANSI格式文件——利用QTextCodec将其他编码格式转换为Unicode格式
Qt使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec ...
- Java读取UTF-8格式文件第一行出现乱码——问号“?”及解决 And Java读带有BOM的UTF-8文件乱码原因及解决方法
測试样例: Java读取UTF-8的txt文件第一行出现乱码"?"及解决 test.txt文件内容: 1 00:00:06,000 --> 00:00:06,010 < ...
- shell 读取目录指定文件并截取拼接
shell脚本读取指定文件并拼接成指定的版本信息
随机推荐
- 【JQuery】学习
JavaScript参考 JQuery 学习总结及实例 1.JQuery概念 A.Jquery是一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器,jQuery ...
- C# 方法、类等的默认访问修饰符
C# 方法默认访问级别 : private C# 类默认访问级别 : internal 1.命名空间下的元素的默认访问修饰符 public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以 ...
- c++ 遍历任务栏窗口
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h& ...
- CODEVS1049 棋盘染色
题目大意:01矩阵,1表示黑色,0表示白色,求将白色染成黑色最少的次数 使黑色成为一整个联通块. 题解: 搜索bfs 90... dfs判断连通 #include<iostream> #i ...
- 泛型List<T>排序(利用反射)
在最近一个项目中,有需求要对页面中所有的gridview添加排序功能.由于gridview的数据源绑定的是一个集合类List,而不是DataTable,所以无法使用DataView排序功能.另外,不同 ...
- Android Studio----- 无法打印---log----问题总结----华为坑深(转)
问题描述:安卓真机调试时 System.out.println 无法输出, err则可以:Log.e,w可以,但其他不行. 解决方法,按如下方式查看酷派手机默认设置日志未warn方式. 酷派手机: * ...
- lnmp centos7 memcache服务器端 和 memcache memcached扩展的安装
在项目开发的时候有用到memcache,自己在本地需要搭建一个memcache环境,用于开发和测试; wget http://www.memcached.org/files/memcached-1.5 ...
- Oracle 数据库备份还原(Expdp/impdp)记录
最近公司将原数据库服务器切换.之前没整过这块,也是一堆的度娘.经过不停的摸索,终于成功了.现在将这份艰辛记录下来,方便自己以后查阅的同时,方便有类似需求的同学参考. 我们此次切换共分:ERP.LOS. ...
- 【转】JMeter Tutorial的安装和具体操作
1.下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 目前最新版为2.9,其余文件如源代码等也可从如下官网下载: http://jm ...
- java数字游戏基础篇
题目: 1.100以内,程序先产生一个随机数,然后用户从控制台输入数字,猜是大了还是小了,第7次时 输出 “您太笨了,答案是”+x 思路:1.随机数,所以用到random 2.用户从键盘输入 ,则用到 ...