-gt:bash 上一元运算符预期出现错误

-gt:bash 上一元运算符预期出现错误

我写了这个简单的脚本:

i = "1";
b = "4";
if [ "$i"-gt "$b" ]
then
echo ""
fi

但是我在尝试运行它时收到此错误:

[: -gt: unary operator expected

什么是 wong ?

答案1

请按照要求提供完整的错误列表;-)

程序“i”当前未安装。您可以输入以下命令进行安装:
安装 iprint
b:未找到命令
bash:[:-gt:预期一元运算符

这只有细微的差别,但有效;研究它:

我=“1”;
b="4";
如果 [ “$i” -gt “$b” ]
然后
  回显“更大”
别的
  echo “不大于”
  1. i = "1"被 bash 解释并i与参数=和一起运行"1"
  2. "$i"由于 1),尚未设置为任何值,即它是""(空字符串) - 与"$b"

这使得[ "$i"-gt "$b" ]读起来就像解释到了这一点一样。还请注意,当你修复 1) 时,你仍然会遇到和[ -gt ]之间“没有空格”的问题"$i"-gt

相关内容