shell腳本如何讀取properties文件中的值
如下面代碼所示的properties文件是各種編程語(yǔ)言中常用的屬性文件,通過key讀取value是極其常見的需求。
# 端口 server.port=8520 # 上傳文件總的最大值 spring.servlet.multipart.max-request-size=10MB # 單個(gè)文件的最大值 spring.servlet.multipart.max-file-size=10MB
Linux中的shell通常是需要程序員自己寫一個(gè)方法實(shí)現(xiàn)對(duì)properties文件的讀取。以下是我寫的一個(gè)方法,親測(cè)有效,歡迎各位取用。
#讀取屬性文件指定鍵的值
get_value_of_properties_file() {
result=""
proFilePath="$1"
key="$2"
if [ "WJA${key}" = "WJA" ]; then
echo "參數(shù)錯(cuò)誤,未能指定有效Key。"
echo "" >&2
exit 1
fi
if [ ! -f ${proFilePath} ]; then
echo "屬性文件(${proFilePath})不存在。"
echo "" >&2
exit 1
fi
if [ ! -r ${proFilePath} ]; then
echo "當(dāng)前用戶不具有對(duì)屬性文件(${proFilePath})的可讀權(quán)限。"
echo "" >&2
exit 1
fi
keyLength=$(echo ${key}|wc -L)
lineNumStr=$(cat ${proFilePath} | wc -l)
lineNum=$((${lineNumStr}))
for ((i = 1; i <= ${lineNum}; i++)); do
oneLine=$(sed -n ${i}p ${proFilePath})
if [ "${oneLine:0:((keyLength))}" = "${key}" ] && [ "${oneLine:$((keyLength)):1}" = "=" ]; then
result=${oneLine#*=}
break
fi
done
echo ${result}
}
使用示例: 方法名 properties文件路徑 key 。如get_value_of_properties_file /home/wja/test.properties server.port
總結(jié)
到此這篇關(guān)于shell腳本如何讀取properties文件中值的文章就介紹到這了,更多相關(guān)shell讀取properties文件值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux 驅(qū)動(dòng)之Kconfig文件和Makefile文件實(shí)例
這篇文章主要介紹了linux 驅(qū)動(dòng)之Kconfig文件和Makefile文件實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-01-01
Shell腳本實(shí)現(xiàn)的一個(gè)簡(jiǎn)易Web服務(wù)器例子分享
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)的一個(gè)簡(jiǎn)易Web服務(wù)器例子分享,本文實(shí)現(xiàn)的Web服務(wù)器非常簡(jiǎn)單實(shí)用,可以在你不想安裝nginx、apache等大型WEB服務(wù)器時(shí)使用,需要的朋友可以參考下2014-12-12
linux shell(.sh)腳本編寫和運(yùn)行入門
這篇文章主要介紹了linux shell(.sh)腳本編寫和運(yùn)行入門,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

