今天写了一个shell脚本,类似于下面这样
if [ $userId = “” ];
then
echo "0”
else
echo "1"
fi
出现报错unary operator expected
报错的原因是:如果变量userId的值为空,那么就if语句就变成了if [ ="" ],这不是一个合法的条件。为了避免出现这种情况,我们必须给变量加上引号if [ “$userId”=“yes” ],这样即使是空变量也提供了合法的测试条件,,if [ " “=”" ]