预计Bash一元运算符

时间:2013-03-20 11:17:29

标签: bash

好的,所以在我的脚本中(这是我第一次使用bash)我遇到了2个一元运算符预期的错误。代码本身实际上工作正常,但它在运行时向我显示这些错误。

[: !=: unary operator expected

为行

if [ ${netmask[1]} != "" ]; do

所以对于第一个错误,当${netmask[1]}""null)时抛出它,我尝试了多个想法但仍然无法在不返回错误的情况下使其工作过程

任何帮助将不胜感激!

编辑:通过添加引号(grrr)来解决

if [ "${netmask[1]}" != "" ]; do

1 个答案:

答案 0 :(得分:6)

如果要检查变量的null值,请使用-z运算符:

if [ -z "${netmask[1]}" ]; then

例如:

VAR=""

if [ -z "$VAR" ]; then
  echo This will get printed
fi

修改:请注意变量周围的括号:"$VAR"