Trong một trong những hướng dẫn trong phòng thí nghiệm của tôi có một lệnh cần kiểm tra.
test -z $LOGNAME || echo Logname is not defined
Khi tôi thực hiện lệnh này, đầu ra là "Tên đăng nhập không được xác định". Trang man để kiểm tra nói
> -z STRING
> the length of STRING is zero
khi tôi lặp lại $ LOGNAME, nó sẽ in tên đăng nhập của tôi. Vì vậy, có một giá trị cho $ LOGNAME. Trong lệnh đầu tiên ở trên vì phần bên phải của lệnh được thực thi, nó ngụ ý phần bên trái đã trả về false. Tại sao nó trả về false khi $ LOGNAME có giá trị?
STRING=''
định nghĩa một chuỗi có độ dài bằng không. Các-z
tùy chọn để kiểm tra không phân biệt giữa độ dài không xác định hoặc không.