[:-eq:预期一元运算符

时间:2015-01-30 15:42:37

标签: bash aix

#!/bin/bash    
export PROCNAME=test
export TABLE_ID=0

if [ ${TABLE_ID} -eq "" ]; then
        echo hello
fi

上面抛出错误:

  

[:-eq:一元运算符预期

如何使用双方括号[[ ${TABLE_ID} -eq "" ]]解决此问题。

3 个答案:

答案 0 :(得分:7)

使用=测试字符串相等。

#!/bin/bash    
export PROCNAME=test
export TABLE_ID=0

if [ "${TABLE_ID}" = "" ]; then
    echo hello
fi

答案 1 :(得分:4)

您可以使用-z来测试变量是否为空:

if [ -z "$variable" ]; then
   ...
fi

来自man test

-z STRING
        the length of STRING is zero

查看示例:

$ r="roar"
$ [ -z "$r" ] && echo "empty" || echo "not empty"
not empty
$ r=""
$ [ -z "$r" ] && echo "empty" || echo "not empty"
empty

答案 2 :(得分:1)

#!/bin/bash    
export PROCNAME=test
export TABLE_ID=0

[ -z ${TABLE_ID} ] && echo hello