echo "Enter age"
read $ag
if [[ $ag -lt 30 ]]
then
echo "Age is less than 30"
else
echo "not"
fi
对于这个程序,无论是' ag'的价值,输出都显示为"年龄小于30"。 可能是什么原因?和解决方案?
答案 0 :(得分:1)
你的错误是:
read $ag
你应该写:
read ag
使用您当前的语法,read
将用户输入存储在一个变量中,该变量的名称是变量ag
的内容。
答案 1 :(得分:0)
echo $ag
之后的read
会告诉您。 (检查你的输入和你的假设是基本的调试,真的。)
read $ag
这解析$ag
(未定义),给出:
read
您正在阅读,但您没有按预期将读入变量。 $ag
仍为空,可解析为“小于30”。
修正:
read ag
这是read
的正确语法。