2011-04-08 14 views
19

क्या कोई मुझे शैल स्क्रिप्ट का उपयोग करते हुए स्थिति लिखते समय -z विकल्प का महत्व पोस्ट कर सकता है।-z विकल्प यदि शेल स्क्रिप्ट में स्थिति

मुझे सही हालत क्या मैं "मदद परीक्षण" से

if [[ "x$do_clean_flag" = "x-clean" && -z "$show_me_flag" && "$verify" = true ]] 

उत्तर

44

से देख रहा हूँ पेस्ट करते हैं:

-z STRING  True if string is empty. 
+5

+1 के मैनुअल में परिभाषित किया गया है या नहीं - इसके अलावा सच रिटर्न एक uninitialised चर – Robb

+0

धन्यवाद परीक्षण जब! इसने मेरी बहुत मदद की। –

3

-z (कुछ) का अर्थ है अगर (कुछ) शून्य है तो सच वापसी

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

पता चलता है कि शून्य लम्बाई के साथ-साथ सच्चे देता है, मैं था सुझाव अपने सिस्टम पर सटीक शब्द की जांच करने के लिए अपनी मशीन पर "मैन टेस्ट" कर सकते हैं।

+2

संख्या '-z न्यूल' रिटर्न ** झूठी **। स्ट्रिंग खाली होने पर -z बस परीक्षण करता है। तो '-z" "' सच हो जाता है। – Magne

+0

मेरी उबंटू प्रणाली पर मैं देखता हूं: test -z NULL; $ echo? रिटर्न 1. test -z ""; $ echo? 0 देता है। test -z "कुछ"; $ echo? रिटर्न 1. तो शून्य लंबाई झूठी वापसी करती है, मैं इसके बारे में गलत था, लेकिन पूर्ण सच हो जाता है। – PCurd

+0

असल में, मेरे ओएसएक्स सिस्टम आपके आदेशों के लिए समान आउटपुट देता है। लेकिन मेरे आदमी परीक्षण का कहना है कि 'परीक्षण उपयोगिता अभिव्यक्ति का मूल्यांकन करती है और, यदि यह सत्य का मूल्यांकन करती है, तो शून्य (सत्य) निकास स्थिति लौटाती है; अन्यथा यह 1 (झूठा) देता है। यदि कोई अभिव्यक्ति नहीं है, तो परीक्षण भी 1 (झूठा) देता है। ** ** तो, 1 का अर्थ गलत है, और 0 का मतलब सच है, ** आगे यह कहता है कि: '-z स्ट्रिंग सही है यदि स्ट्रिंग की लंबाई शून्य है। ' – Magne

5

-z चेकों $ show_me_flag

जांच परीक्षण (1)

संबंधित मुद्दे