shell 脚本中出现错误替换错误

Getting bad substitution error in shell script

我有一个变量 COUNTRY="INDIA"

和另一组变量:- INDIA_POPULATION="5,00,00,000", CHINA_POPULATION="6,00,00,000".

在脚本中,我尝试使用命令调用它们:-

echo ${ ${COUNTRY}_POPULATION }

但是我遇到了错误的替换 错误。有人可以告诉我如何解决吗??

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

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

或者,如果你有 bash 版本 >= 4.3,你也可以使用 refname:

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