Shell Scripting - 少于操作不工作

时间:2015-09-17 07:08:26

标签: shell

echo "Enter age"
read $ag

if [[ $ag -lt 30 ]]

then
echo "Age is less than 30"

else
echo "not"

fi

对于这个程序,无论是' ag'的价值,输出都显示为"年龄小于30"。 可能是什么原因?和解决方案?

2 个答案:

答案 0 :(得分:1)

你的错误是:

read $ag

你应该写:

read ag

使用您当前的语法,read将用户输入存储在一个变量中,该变量的名称是变量ag的内容。

答案 1 :(得分:0)

echo $ag之后的read会告诉您。 (检查你的输入和你的假设是基本的调试,真的。)

read $ag

这解析$ag(未定义),给出:

read

您正在阅读,但您没有按预期将读入变量。 $ag仍为空,可解析为“小于30”。

修正:

read ag

这是read的正确语法。