在shell脚本中获取错误的替换

2mbi3lxu  于 12个月前  发布在  Shell
关注(0)|答案(1)|浏览(125)

变量COUNTRY=“INDIA”
以及另一组变量:-INDIA_POPULATION=“5,00,00,000”,CHINA_POPULATION=“6,00,00,000”。
在脚本中,我尝试使用命令调用它们:
echo ${ ${COUNTRY}_POPULATION }
但我得到坏的替代x1c 0d1x错误。有人能告诉我怎么解决吗??

ggazkfy8

ggazkfy81#

你放错了一个括号:{$COUNTRY}_POPULATION应该是${COUNTRY}_POPULATION。但即使这样,它也不会像你期望的那样工作。使用bash * 间接扩展 *:

$ name="${COUNTRY}_POPULATION"
$ echo "${!name}"
5,00,00,000

或者,如果你的bash版本>= 4.3,你也可以使用 nameref

$ declare -n name="${COUNTRY}_POPULATION"
$ echo "$name"
5,00,00,000

相关问题