即使存在shell变量名,Linux程序也只回答“否”



我编写了以下程序来查找有效的shell变量名。当我运行程序时,即使shell变量存在,我也总是得到否定的答案。这是代码:

if [ -n "$(echo $1 | grep "^[_A-Za-z][_A-Za-z0-9]*$")" ]
then
        echo yes
else
        echo no
fi

这个if [ -n "${!1}" ]会起作用。按如下方式调用您的程序:

./program JAVA_HOME

有关更多信息,请参阅其他问题。

相关内容

最新更新