Shell脚本 提示unary operator expected
问题复现: shell中用if来判断变量的值 报错
INPUTHOSTS=$1
if [ $INPUTHOST = 1 ]; then
NAME="名字"
解决方法: $INPUTHOST 加上引号,原因是INPUTHOSTS变量可能为空 加上引号即便为空也可以比较了。
需要注意的一个小细节是: 1)数字比较的时候, 很多博客上都说用-eq,但试了下,发现并没有用,数字的比较直接用=。
2)变量赋值的时候,变量前面不带$符号, 变量名和等号挨在一起,中间不要用空格,如果有空格,会发现颜色不对。