好的,所以在我的脚本中(这是我第一次使用bash)我遇到了2个一元运算符预期的错误。代码本身实际上工作正常,但它在运行时向我显示这些错误。
[: !=: unary operator expected
为行
if [ ${netmask[1]} != "" ]; do
所以对于第一个错误,当${netmask[1]}
为""
(null
)时抛出它,我尝试了多个想法但仍然无法在不返回错误的情况下使其工作过程
任何帮助将不胜感激!
编辑:通过添加引号(grrr)来解决
if [ "${netmask[1]}" != "" ]; do
答案 0 :(得分:6)
如果要检查变量的null
值,请使用-z
运算符:
if [ -z "${netmask[1]}" ]; then
例如:
VAR=""
if [ -z "$VAR" ]; then
echo This will get printed
fi
修改:请注意变量周围的括号:"$VAR"
。