我写了这个简单的脚本:
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 “不大于” 菲
i = "1"
被 bash 解释并i
与参数=
和一起运行"1"
。"$i"
由于 1),尚未设置为任何值,即它是""
(空字符串) - 与"$b"
这使得[ "$i"-gt "$b" ]
读起来就像解释到了这一点一样。还请注意,当你修复 1) 时,你仍然会遇到和[ -gt ]
之间“没有空格”的问题"$i"
-gt