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