在脚本中动态构造变量并从源参数中获取值

在脚本中动态构造变量并从源参数中获取值

我有一个 txt 文件 extract.dat,它是使用源代码在我的代码中读取的。

$ cat extract.dat
ExchgRate_prop="EDB_NAME=share_exchange SRC_WDS=wds PN=ExchgRate"
Compliance_prop="EDB_NAME=share_compliance SRC_WDS=wca PN=com"
Unitcost_prop=="EDB_NAME=share_unitcost SRC_WDS=wda PN=unit"

source ./ extract.dat

现在我将获得代码中的所有变量。如果我的代码采用值为“ExchgRate”的参数 $PROJ,我该如何连接“$PROJ”“_prop”来创建变量 ExchgRate_prop,然后获取值“EDB_NAME=share_exchange SRC_WDS=wds PN=ExchgRate”

答案1

你可以使用 bash变量间接引用. 例如

$ echo "$ExchgRate_prop" 
EDB_NAME=share_exchange SRC_WDS=wds PN=ExchgRate

$ PROJ=ExchgRate

然后

$ var=${PROJ}_prop
$ echo "${!var}"
EDB_NAME=share_exchange SRC_WDS=wds PN=ExchgRate

相关内容