字符串判空有空格报错:binary operator expected

使用-z-n对一个变量判空时,需要注意若直接使用[ -n ${ARG} ]这种形式,若${ARG}中有空格将会报错,

#!/bin/bash
ARG="sd dd"
if [ -n ${ARG} ]; then
    echo 'ARG:' ${ARG}
else
    echo 'ARG is empty.'
fi

输出:

line 27: [: sd: binary operator expected
ARG is empty.

解决方法,使用[[ -n ${ARG} ]][ -n "${ARG}" ]

猜你喜欢

转载自www.cnblogs.com/faberbeta/p/linux-shell025.html