我的shell腳本工作從.properties文件中讀取配置屬性,下面是樣本配置無法檢索shell腳本鍵值
RCTP_servername=test1
RCTP_databasename=test2
RCTP_portnumber=test3
RCTP_username=test4
RCTP_password=test5
我已經爲下面寫了一個shell腳本,但這是行不通的任何人都可以請有外觀和指導我如何解決這個
#building the keys based on environment
environment=RCTP
servername_key="$environment"_servername
databasename_key="$environment"_databasename
portnumber_key="$environment"_portnumber
username_key="$environment"_username
password_key="$environment"_username
#read the config.properties files
file=serverconfig.properties
if [ -f "$file" ]
then
echo "$file found."
while IFS='=' read -r key value
do
key=$(echo $key)
eval "${key}='${value}'"
done < "$file"
servername_value=${servername_key}
databasename_value=${databasename_key}
portnumber_value=${portnumber_key}
username_value=${username_key}
password_value=${password_key}
else
echo "$file not found."
fi
echo "$servername_value"
,但我得到的下面,當我試圖運行它,誤差./test_script_fte.sh: line 23: ${servername_key}: bad substitution
預期的輸出是當echo $servername_value
執行時是test1
我建議'源'您的屬性文件。 – Cyrus
@Cyrus請問我可以讓我知道這個'source'不介意我知道shell腳本。 –
您的文件「serverconfig.properties」已經具有正確的bash格式。使用'source serverconfig.properties',你可以使用你的文件中的所有變量,例如:'echo「$ RCTP_servername」' – Cyrus