Shell Script-读取配置文件



需求



有时候在shell script里面需要一些执行,如果放在程序里面不便于统一管理,并且每一次修改路径都要去script里面改好麻烦,所以统一把路径放在配置文件中方便管理。



问题



如何读取相对应的key-value是主要问题,主要是用到IFS分隔符,记住使用时最好先备份原来的IFS,使用完记得还原IFS,否则会出现未知错误



配置文件(格式:”key = value“)

1 [csv]
2 splitHome = 20151214_QL/split_home
3 output = 20151214_QL/output


读取代码(判断配置文件是否存在----备份IFS-----读取并输出想要结果-------还原IFS)

 1 #!/bin/bash
 2
 3 #config file
 4 config="config.ini"
 5
 6 #judge whether config.ini exists or not.
 7 if [ ! -f "$config" ];then
 8         echo "the file of config.ini not exist"
 9         exit 0
10 fi
11
12 #save the old IFS
13 OLDIFS=$IFS
14
15 #set the IFS which is used to split the key-value
16 IFS=" = "
17
18 split="splitHome"
19 output="output"
20
21 s=""
22 o=""
23
24 while read -r name value
25 do
26 if [[ "$name" = *$split* ]]; then
27         s=$value
28 elif [[ "$name" = *$output* ]];then
29         o=$value
30 fi
31 done < $config
32
33 #output the result
34 echo $s
35 echo $o
36
37 #reset the IFS
38 IFS=$OLDIFS
39 ~


命令行输出结果

1 20151214_QL/split_home
2 20151214_QL/output
时间: 2025-01-12 14:05:09

Shell Script-读取配置文件的相关文章

一个修改配置文件的linux shell script

不久以前,曾经搜到一篇博客是读取配置文件的,http://www.cnblogs.com/bo083/archive/2012/11/19/2777076.html,用到现在,感觉十分方便,感谢作者. 现在,需要通过web界面给用户留出接口来修改类似配置文件,大的方法是从php调用linux shell script,于是,现在贴一个可以修改此种配置文件的linux shell. 首先,配置文件的格式如下: [unit1] field1=value1 field2=value2 [unit2]

Shell读取配置文件的方法

参考:http://www.cnblogs.com/binbinjx/p/5680214.html 做批量软件安装自动化时,都喜欢用配置文件的方式改变参数,那怎么通过shell读取配置文件的配置呢?参考以上链接,根据易用性依次讨论三种方法: 假设配置文件config的内容如下: #!/bin/bash #configuration ID=123 IP=192.168.3.154 Name=test 1 直接将配置信息加载到session的环境变量中 #source config #echo $I

Linux shell (ssh批量配置免秘)读取配置文件,进行远程操作

需要目标机器安装有 expect 命令 分成五个文件config.ini(配置文件).id_ras.pub(公钥).read.sh(一个函数,用于读取配置文件).test.sh(执行文件).run.sh(远程运行脚本) 是一个配置文件. 步骤1:读取配置文件 ip,user,pwd 步骤2:将id_rsa.pub.run.sh scp到远程机器上 步骤3:远程运行脚本 read.sh #!/bin/bash GetKey(){ section=$(echo $1 |cut -d '.' -f 1

Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)

在自动化测试项目中,可能会碰到一些经常使用的但 很少变化的配置信息,下面就来介绍使用configparser来读取配置信息config.ini 读取的信息(config.ini)如下: [config]platformName=AndroidappPackage=com.sheinsideappActivity=.module.GuideActivitybaseUrl=http://0.0.0.0:4723/wd/hubfindElementTimes=10[cmd]openAppium=nod

shell script之变量

shell script之变量 什么是变量 用一个简单的"字眼"来代替另一个比较复杂或者容易变动的数据 变量的显示与设置:echo,unset 变量的显示 echo ${PATH} 变量的设置规则 等号连接         变量=变量内容 等号两边不能直接接空格符 变量名称只能是英文或数字,数字不可用作第一个字符 变量内容有空格需使用双引号或单引号括起来 单引号:特殊字符仅表示字符 双引号:特殊字符可保持原本特性,如$ 转义字符可将特殊符号变成一般字符 $(command)与`comm

linux基础--用户登录时读取配置文件顺序

linux下一切皆文件,在登录时也会跟随登录读取很多配置文件.在介绍读取顺序前先来了解一些信息. 用户登录的Shell类型 登录式Shell 正常通过某终端登录 su - USERNAME su -l USERNAME 非登录式Shell 以下方式的Shell su USERNAME 图形化终端打开的终端窗口 自动执行的Shell脚本 Bash的配置文件 全局配置文件 /etc/profice,/etc/profile.d/*.sh,/etc/bashrc 用户个人配置文件 ~/.bash_pr

Shell Script 学习 I

Shell Script I Shell有两种执行命令的方式: 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条. 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令 Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把它们称作一种Shell ,bash是Linux标准默认的shell, sh 是Unix 标准默认的s

shell script 入门 笔记

shell script 入门 在 shell script 的撰写中还需要用到底下的注意事项: 1.  指令的执行是从上而下.从左而右的分析与执行: 2.  指令的执行就如同第五章内提到的: 指令.选项不参数间的多个空白都会被忽略掉: 3.  空白行也将被忽略掉,而且 [tab] 按键所推开的空白同样规为空格键: 4.  如果读取到一个 Enter 符号 (CR) ,就尝试开始执行该行 (或该串) 命令: 5.  至亍如果一行的内容太多,则可以使用『 \[Enter] 』来延伸至下一行: 6.

Shell编程之三 —— shell script 脚本(未完待续)

1.脚本的语法构成: shell script 是利用 shell 的功能所写的一个『程序(program)』,这个程序是使用纯文本文件(文件后缀名最好为sh文件,方便我们管理),将一些 shell 的语法与指令(含外部指令)写在里面, 搭通配符.配正规表示法.管线命令与数据流重定向.条件判断.循环逻辑等功能,以达到我们所想要的处理目的. 构成(常见):shell语法和外部指令   通配符     [a-z]  [A-Z]     ?    *          正规表达式      管线命令