Shell脚本报错unary operator expected

程瑞
2023-12-01

今天写了一个shell脚本,类似于下面这样

if [ $userId  = “” ];
  then
    echo "0”
  else
    echo "1"
fi

出现报错unary operator expected
报错的原因是:如果变量userId的值为空,那么就if语句就变成了if [ ="" ],这不是一个合法的条件。为了避免出现这种情况,我们必须给变量加上引号if [ “$userId”=“yes” ],这样即使是空变量也提供了合法的测试条件,,if [ " “=”" ]

 类似资料: