使用-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}" ]