परिचय: बैश में गैर-मौजूद फाइलों को संभालना
बैश स्क्रिप्ट के साथ काम करते समय, फ़ाइल अस्तित्व जांच को प्रभावी ढंग से संभालना आवश्यक है। यह न केवल यह सुनिश्चित करता है कि आपकी स्क्रिप्ट सुचारू रूप से चले बल्कि त्रुटियों और अप्रत्याशित व्यवहारों को भी रोके। यह जानना कि कैसे जांचा जाए कि कोई फ़ाइल मौजूद नहीं है, कई परिदृश्यों में महत्वपूर्ण हो सकती है, जैसे कि जब आपको एक नई फ़ाइल बनाने की आवश्यकता होती है या फ़ाइल अनुपस्थित होने पर ही विशिष्ट संचालन को संभालना होता है।
इस गाइड में, हम यह पता लगाएंगे कि बैश स्क्रिप्टिंग का उपयोग करके यह कैसे निर्धारित किया जाए कि कोई फ़ाइल मौजूद नहीं है। हम यह जांचने की सामान्य विधि की समीक्षा करके शुरुआत करेंगे कि कोई फ़ाइल मौजूद है या नहीं, और फिर हम आपकी स्क्रिप्टिंग प्रक्रियाओं को सुव्यवस्थित करते हुए यह सत्यापित करने के दृष्टिकोण पर ध्यान केंद्रित करेंगे कि कोई फ़ाइल मौजूद नहीं है।
यह जाँचना कि क्या कोई फ़ाइल बैश में मौजूद नहीं है
बैश स्क्रिप्ट
# !/bin/bashFILE=$1if [ ! -f "$FILE" ]; thenecho "File $FILE does not exist."elseecho "File $FILE exists."fi
लॉगिंग के साथ उन्नत फ़ाइल अस्तित्व की जाँच करें
लॉगिंग के साथ बैश स्क्रिप्ट
# !/bin/bashFILE=$1LOGFILE="file_check.log"if [ ! -f "$FILE" ]; thenecho "$(date): File $FILE does not exist." | tee -a $LOGFILEelseecho "$(date): File $FILE exists." | tee -a $LOGFILEfi
ईमेल अधिसूचना के साथ फ़ाइल अस्तित्व की जाँच करें
ईमेल अधिसूचना के साथ बैश स्क्रिप्ट
# !/bin/bashFILE=$1EMAIL="your_email@example.com"if [ ! -f "$FILE" ]; thenecho "File $FILE does not exist." | mail -s "File Check" $EMAILelseecho "File $FILE exists." | mail -s "File Check" $EMAILfi
बैश में फ़ाइल अस्तित्व की जाँच के लिए उन्नत तकनीकें
बुनियादी फ़ाइल अस्तित्व जांच से परे, बैश में उन्नत तकनीकें हैं जो आपकी स्क्रिप्टिंग क्षमताओं को बढ़ा सकती हैं। ऐसी ही एक विधि का उपयोग किया जा रहा है test तार्किक ऑपरेटरों के साथ संयोजन में कमांड। यह अधिक जटिल सशर्त जाँच की अनुमति देता है। उदाहरण के लिए, हो सकता है कि आप यह जांचना चाहें कि कोई फ़ाइल मौजूद नहीं है या नहीं और यदि नहीं है तो उसे बनाना चाहेंगे। के संयोजन का उपयोग करके इसे प्राप्त किया जा सकता है if [ ! -f "$FILE" ] और touch "$FILE", जो गुम होने पर एक खाली फ़ाइल बनाता है। यह दृष्टिकोण उन स्क्रिप्ट्स में उपयोगी है जहां फ़ाइल की उपस्थिति बाद के संचालन के लिए महत्वपूर्ण है।
एक अन्य उन्नत तकनीक में फ़ाइलों के बजाय निर्देशिकाओं की जाँच करना शामिल है। -d के स्थान पर ध्वज का प्रयोग किया जाता है -f यह जाँचने के लिए कि क्या कोई निर्देशिका मौजूद है। यह उन परिदृश्यों में सहायक हो सकता है जहां आपकी स्क्रिप्ट को फ़ाइलों की प्रतिलिपि बनाने या बैकअप बनाने जैसे कार्यों के साथ आगे बढ़ने से पहले निर्देशिकाओं के अस्तित्व को सत्यापित करने की आवश्यकता होती है। इन चेकों को साथ मिलाकर || (तार्किक या) और && (तार्किक और) ऑपरेटर मजबूत और लचीली स्क्रिप्ट बना सकते हैं। उदाहरण के लिए, if [ ! -d "$DIR" ] || [ ! -f "$FILE" ] यह आपको केवल तभी कार्रवाई करने की अनुमति देता है जब कोई निर्देशिका या फ़ाइल मौजूद नहीं होती है, जिससे आपकी स्क्रिप्ट में नियंत्रण की एक परत जुड़ जाती है।
बैश में फ़ाइल अस्तित्व जाँच के बारे में सामान्य प्रश्न और उत्तर
- मैं कैसे जांचूं कि कोई फ़ाइल बैश में मौजूद है या नहीं?
- आप कमांड का उपयोग कर सकते हैं if [ -f "$FILE" ]; then यह जाँचने के लिए कि क्या कोई फ़ाइल मौजूद है।
- क्या करता है -f फ़ाइल अस्तित्व की जाँच में ध्वजांकित करें?
- -f फ़्लैग जाँचता है कि निर्दिष्ट पथ एक नियमित फ़ाइल है या नहीं।
- मैं कैसे जांच सकता हूं कि बैश में कोई निर्देशिका मौजूद है या नहीं?
- आदेश का प्रयोग करें if [ -d "$DIR" ]; then यह जांचने के लिए कि क्या कोई निर्देशिका मौजूद है।
- के बीच क्या अंतर है -f और -d?
- -f फ़्लैग फ़ाइलों की जाँच करता है, जबकि -d निर्देशिकाओं के लिए फ़्लैग जाँच।
- मैं फ़ाइल अस्तित्व जांच के परिणाम कैसे लॉग कर सकता हूं?
- आप उपयोग कर सकते हैं echo और tee -a $LOGFILE परिणाम लॉग करने के लिए.
- यदि फ़ाइल मौजूद नहीं है तो क्या ईमेल भेजना संभव है?
- हाँ, उपयोग करें mail -s "Subject" $EMAIL ईमेल सूचनाएं भेजने का आदेश।
- क्या मैं फ़ाइल और निर्देशिका अस्तित्व जांच को जोड़ सकता हूँ?
- हाँ, उपयोग कर रहा हूँ if [ ! -d "$DIR" ] || [ ! -f "$FILE" ] संयुक्त जाँच की अनुमति देता है।
- यदि फ़ाइल मौजूद नहीं है तो मैं उसे कैसे बनाऊँ?
- उपयोग if [ ! -f "$FILE" ]; then touch "$FILE"; fi फ़ाइल बनाने के लिए.
- बैश में लॉजिकल ऑपरेटर क्या हैं?
- तार्किक संचालक पसंद करते हैं && (और और || (OR) का उपयोग स्थितियों को संयोजित करने के लिए किया जाता है।
फ़ाइल अस्तित्व जाँच पर समापन विचार
विश्वसनीय स्क्रिप्ट बनाने के लिए प्रभावी ढंग से जाँच करना कि बैश में कोई फ़ाइल मौजूद नहीं है, आवश्यक है। का उपयोग if [ ! -f "$FILE" ] कमांड, आप विभिन्न परिदृश्यों को संभाल सकते हैं जहां फ़ाइल की उपस्थिति या अनुपस्थिति महत्वपूर्ण है। उन्नत विधियाँ, जैसे लॉगिंग और सूचनाएं, कार्यक्षमता की परतें जोड़ती हैं, जिससे आपकी स्क्रिप्ट अधिक बहुमुखी और जानकारीपूर्ण बन जाती हैं। इन तकनीकों में महारत हासिल करके, आप अपनी स्क्रिप्टिंग क्षमताओं को बढ़ाते हैं, जिससे सुचारू और त्रुटि मुक्त संचालन सुनिश्चित होता है।