I have a variable COUNTRY="INDIA"
and another sets of variables:- INDIA_POPULATION="5,00,00,000", CHINA_POPULATION="6,00,00,000".
In script I am trying to call them using command:-
echo ${ ${COUNTRY}_POPULATION }
But I am getting bad substitution error. Can someone please tell how to solve it ??
You misplaced a bracket: {$COUNTRY}_POPULATION
should be ${COUNTRY}_POPULATION
. But even then it would not work as you expect. Use bash indirect expansion:
$ name="${COUNTRY}_POPULATION"
$ echo "${!name}"
5,00,00,000
Or, if you have bash version >= 4.3, you can also use a nameref:
$ declare -n name="${COUNTRY}_POPULATION"
$ echo "$name"
5,00,00,000