2011-04-08 20 views

cevap

44

de ne arıyorum kesin koşulunu yapıştırın edelim:

-z STRING  True if string is empty. 
+5

+1 arasında kılavuzu tanımlanmış olup olmadığını - Bir başlatılmamış değişken – Robb

+0

Teşekkür test ederken aynı zamanda gerçek döndürür! Bana çok yardımcı oldu. –

3

-z (bir şey) (bir şey) NULL ise o zaman return true anlamı

http://unixhelp.ed.ac.uk/CGI/man-cgi?test

sug ben ediyorum, sıfır uzunluk hem de gerçek döndüren düşündürmektedir Sisteminizdeki tam ifadeyi kontrol etmek için makinenizde "erkek testi" yapmakta.

+2

No. '-z NULL', ** false ** değerini döndürür. -s justs dizenin boş olup olmadığını test eder. Yani '-z" "' döndürür. – Magne

+0

Ubuntu sistemimde şunu görüyorum: test -z NULL; echo $? 1 değerini döndürür -z ""; echo $? 0 değerini döndürür -z "bir şey"; echo $? 1 döndürür. Yani sıfır uzunluğu yanlış döndürür, bu konuda yanıldım, ancak NULL doğru döndürür. – PCurd

+0

Aslında, OSX sistemim bu komutlar için sizinle aynı çıktıyı veriyor. Fakat benim erkek testim şöyle diyor: Test yardımcı programı ifadeyi değerlendiriyor ve eğer doğru olarak değerlendiriliyorsa sıfır (gerçek) çıkış durumu döndürüyor; aksi halde 1 (false) değerini döndürür. Herhangi bir ifade yoksa, test 1 (false) değerini de döndürür. ”** Yani, 1 false demektir, ve 0 true demektir, burada. ** Ayrıca şunu belirtir: -z dizesi Dize uzunluğu sıfır ise. ' – Magne

5

-z kontroller $ show_me_flag

check-out testi (1)

İlgili konular