2013-03-19 4 views
10

मैं अपने दम पर खोल पटकथा सीख रहा हूँ, और मैं जांच कैसे तो क्या करना था, और मैं एक उदाहरण था कि समझ में नहीं आया:शैल स्क्रिप्टिंग हैं [-f ./file]

if [ -f ./$NAME.tar ]; then 
    //do something 
else 
    //something else 

अब मैंने कुछ प्रयोग किया है, और मैंने NAME को अपनी निर्देशिका में एक फ़ाइल का नाम दिया था। जब मैंने -f के बिना निष्पादित किया, तो यह अन्य शर्त में प्रवेश कर रहा था, लेकिन साथ-साथ यह // कुछ शर्त में प्रवेश करता है इसलिए मुझे लगता है कि फ़ाइल फ़ाइल के लिए है। क्या ये सही है? मुझे इसकी पुष्टि करने के लिए जानकारी नहीं मिल सका।

उत्तर

14

bash मैनुअल से:

-f file - True if file exists and is a regular file. 

तो हाँ, -f का मतलब है (आपके मामले में ./$NAME.tar) फ़ाइल मौजूद है और एक नियमित रूप से फ़ाइल (नहीं एक युक्ति फ़ाइल या उदाहरण के लिए एक निर्देशिका) है।

+0

मुझे इसके लिए मैन पेज नहीं मिला .. मुझे मूर्खतापूर्ण। धन्यवाद। – Alessandroempire

+3

यह 'कंडीशनियल अभिव्यक्ति' अनुभाग में 'मैन 1 बश' में है। – kamituel

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