2013-08-07 20 views
137

Patrzę na poniższym kodzie:Co oznacza -z w Bash?

if [ -z $2 ]; then 
     echo "usage: ... 

(The 3 kropki są nieistotne szczegóły użytkowania.)
Może jestem googlowania to źle, ale nie mogłem znaleźć wyjaśnienie dla opcji -z .

+24

'man test' ma odpowiedź. ('man bash' too probably.) – Mat

+1

Awsome, thanks! Złe Google, złe! Przy okazji, moja wiedza w Bash jest bardzo prosta. Nie przyszło mi do tego, żeby powiązać "-z" z "if". Będę bardziej kreatywny następnym razem. – Noich

+0

Google "bash -z flag" nic nie dostarczył. – Noich

Odpowiedz

182

-z string Prawda jeśli łańcuch jest pusty (pusty ciąg)

+0

Znalazłem inne doskonałe i szczegółowe wyjaśnienie - http://stackoverflow.com/questions/3601515/how-to-check-if-a-variable-is-set-in- grzmotnąć – valentt

3

Wyrażenie -z string ma wartość true, jeśli długość łańcucha wynosi zero.

27
-z 

string is null, that is, has zero length 

String='' # Zero-length ("null") string variable. 

if [ -z "$String" ] 
then 
    echo "\$String is null." 
else 
    echo "\$String is NOT null." 
fi  # $String is null.