我知道这可能听起来很荒谬,但是为了辩护,我要说我才刚刚开始摆弄编码,特别是 bash,所以不要太严厉地评判我……
我刚刚深入研究了这一点:
#!/bin/bash
echo -n "Enter a number: "
read VAR
if [[ $VAR -gt 10 ]]
then
echo "The variable is greater than 10."
fi
问题是我写的任何数字都不会改变任何事情。 甚至2
会大于10
。 怎么了?
答案1
该脚本语法正确,对我来说很管用。如果我输入 0-10 之间的任何数字,它不会回显任何文本。
为了将来参考,我建议您安装外壳检查并养成使用它检查脚本语法的习惯。
答案2
或者(因为您提到您正在学习 bash)您可以使用算术表达式:
if (( VAR > 10 ))
then
echo "The value is greater than 10."
fi
或者更简洁的一行:
(( VAR <= 10 )) || echo "The value is greater than 10."