String empty or unset unset 就是 empty. 但是 string length empty 不会输出,string length "" 输出 0 test -n "$var": var set and its length >= 1 test -z "$var": var set and its length == 0 但是 test -z 可以不接收参数,test -n 不接收居然会返回 true.