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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章