首页 > 代码库 > shell 报错:unary operator expected"

shell 报错:unary operator expected"

一直学习perl,shell都忘得差不多了,今天写了个小脚本,判断脚本第二个变量不等于某字符串时的操作。

if [ $? -eq 0 ] && [ $2 != "wp" ]

then

    : #略

fi

如果不加第二个变量,运行时会出现[: !=: unary operator expected"的报错,最后调试时发现

[ != "wp"]

原来shell的变量不定义时会出现这种情况,那就直接双括号吧。

[[ != "wp"]]

shell 报错:unary operator expected"