我想讓我的腳本更通用,因此試圖傳遞參數。 我有配置文件,其中包含變量(在腳本中使用)和腳本中,我正在源(源命令)在另一個腳本(ksh)中的文件。shell腳本拋出錯誤的雙參數
配置文件包含:
p2020_m23_ORACLE_USERNAME=sanjeeb
參數爲腳本p2020_m23
。
的ksh腳本:
export SOURCE_CD=$1
export CONFIG_FILE=/user/spanda20/dbconfig.txt
source $CONFIG_FILE
USERNAME=${${SOURCE_CD}_ORACLE_USERNAME} << **This throws error** >>
USERNAME=$p2020_m23_ORACLE_USERNAME <<< **This gives correct result** >>
手動測試:
[spanda2 config]$ export SOURCE_CD=p2020_m23
[spanda2 config]$ export m23_ORACLE_USERNAME=sanjeeb
[spanda2 config]$ export USERNAME=${${SOURCE_CD}_ORACLE_USERNAME}
-bash: USERNAME=${${SOURCE_CD}_ORACLE_USERNAME}: bad substitution
請參閱[Bash常見問題解答006](http://mywiki.wooledge.org/BashFAQ/006)(它也會介紹ksh)。 –