预期条件二元运算符

预期条件二元运算符
var="$(command1 -l '$var2' -c 'command2|grep -c "search"')"
if [[ var !=0 ]]; then
fi

为什么我得到“预期条件二元运算符”。我已经搜索过并且。我看到 [[]] 是一个测试语句,但为什么它不起作用?

答案1

  1. $当你调用它时,你在 var 前面丢失了,就像你写的那样,它实际上是var
  2. 考虑可能的漏洞[[ ... ]]使用或(( ... ))与您无法控制的变量一起使用时的脚本。对于您的情况,使用 可能会更好[ "$var" -ne 0 ]
  3. !=您在和之间缺少一个空格0(这是错误的根源!)
  4. !=是一个字符串比较运算符,虽然它可能在您的示例中起作用,但您希望用于-ne比较整数。

利用外壳检查

相关内容