![在脚本中动态构造变量并从源参数中获取值](https://linux22.com/image/922863/%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E5%8A%A8%E6%80%81%E6%9E%84%E9%80%A0%E5%8F%98%E9%87%8F%E5%B9%B6%E4%BB%8E%E6%BA%90%E5%8F%82%E6%95%B0%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%80%BC.png)
我有一个 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