Linux Shell 脚本从外部读入配置文件并在脚本中引用

一、问题或需求

因为工作要求,需要重构一部分的shell脚本,脚本中有些使用到的文件路径参数配置项等等,都写死在脚本中,导致脚本耦合度高,使用不灵活、复用性也不高,因此需要重构一部分代码。将部分配置项单独拿出来,成立一个配置文件,然后在shell脚本中读入并引用相关配置项。

二、解决办法

这里使用到的config.txttest.sh都是临时创建的一个文件,总的方法还是不变的~

#config.txt 文件内容
FILE_PATH=/root/snoe

FIZE_SIZE=15

1.方法一 :source

#!/bin/bash
source config.txt

echo $FILE_PATH
echo $FIZE_SIZE

运行脚本之前需要注意一点,source只存在于bash中,用sh去运行test.sh是会报错,如下:

root@juzuodaliyun:~/gcj sh test.sh a.txt
test.sh: 5: test.sh: source: not found

因此必须使用bash去运行这个脚本

root@juzuodaliyun:~/gcj bash test.sh
/root/snoe
15

2.方法二:while read line;

使用循环读入的办法也可以将配置文件中的配置项读入到shell脚本中

#!/bin/bash

while read line;
do
	eval "$line"
done < config.txt

echo $FILE_PATH
echo $FIZE_SIZE

运行脚本,也可以将配置文件中的所有配置项读入,并在脚本中引用。

root@juzuodaliyun:~/gcj sh test.sh
/root/snoe
15

其实还有用for循环等方法,这个你可以自己去实现,原理都是大同小异的。

参考博文:https://www.cnblogs.com/pengdonglin137/p/3858696.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值