shell 解析文件

最近需要使用shell脚本解析配置文件,于是下来去找来找,发现以下两种方式都是比较好用的,但是各有各的不足。


1.使用source 解析

特点:方便,简单

不足:当文件中有多个同名的配置项,就不好解析了

脚本:test.sh

#!/bin/sh

source myconfig

#注意,这里也可以写成点 filename,即: .  filename

echo $ip

echo $port


配置文件:文件名: myconfig,  内容就包含以下两行就行:

ip=192.168.1.100

port=100

对于这样类似的配置文件,毫无疑问,这样的脚本对应这样的配置方式,是最简单的!!!!

但是,有个不足,假如我这里有多个这样的配置 ,

#【server 1】

ip=192.168.1.100

port=7878

#[server 2]

ip=192.168.1.100

port=7777

#[server 3]

ip=192.168.1.100

port=8888


这种情况,source就不好解析了,或许我还没找到方法,大家知道的,也指教一下,谢谢咯

方式2:

先看配置文件,配置文件各个字段用分号分隔,一行为一个配置项,文件名:myconfig

192.168.1.100;8989;root

192.168.1.300;8888;user

192.168.1.200;8980;administrator


脚本内容: server.sh


#!/bin/sh

while read line;do
ip=$(echo $line | awk -F ';' '{print $1}')
port=$(echo $line | awk -F ';' '{print $2}')
role=$(echo $line | awk -F ';' '{print $3}')
echo $name1
echo $pwd
echo $role

#这里就可以放你要拿配置文件中的各个配置值做什么的代码

done <myconfig


实际上,这种方式也很简单,只是配置文件的可读性就差来很多,所以根据实际的情况,选择一个,应该就OK

最后,Thanks!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值