用一个string代替shell中的variables

我将一个string作为parameter passing给一个shell脚本。 而shell脚本应该告诉我,如果传递的参数是一个variables

像这样的东西

if [ ! -z ${$1} ] ; then echo yes! $1 is a variable and its value is ${$1} fi 

但这给我不好的替代err ..

我绝对知道我错过了什么..帮助我!

例如用法:

 $ myscript.sh HOME yes! HOME is a variable and its value is /home/raj 

这个语法是:

 ${!VAR} 

例:

 $ function hello() { echo ${!1}; } $ hello HOME /home/me 

在这里找到它: http : //www.linuxquestions.org/questions/programming-9/bash-how-to-get-variable-name-from-variable-274718/

你应该做的

 if [ ! -z ${!1} ]; then echo yes $1 is a variable and its value is ${!1} fi