Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

अपने सिस्टम की रक्षा करें: शेल स्क्रिप्ट में फ़ाइल पथ को कोट करने का महत्व

मैं भयानक प्रोग्रामिंग गलतियों के बारे में एक थ्रेड पर ठोकर खाई और यह पाया:

https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/commit/a047be85247755cdbe0acce6f1dafc8beb84f2ac

जिसमें लाइन है:

rm -rf /foo-bar-usr /lib/nvidia-current/xorg/xorg

नोट – मैंने स्ट्रिंग में foo-bar- जोड़ा है ताकि यदि आप इसे चलाने का प्रयास करते हैं, तो यह वह चीज नहीं करेगा जिसके बारे में मैं चेतावनी दे रहा हूं –यहां तक कि मेरे क्लिपबोर्ड पर होने से मुझे घबराहट होती है!।

जब इसे चलाया जाता है तो क्या होता है? यह पूरे /usr/ डायरेक्टरी को मिटा देता है – अनिवार्य रूप से आपके कंप्यूटर को ब्रिक कर देता है! सिर्फ एक स्पेस की वजह से।

/usr के बाद स्पेस के कारण, rm कमांड इसे हटाने के लिए दो अलग-अलग डायरेक्टरी के रूप में व्याख्या करता है, न कि एक गलत टाइप पथ के रूप में।

यदि उस पथ को कोट्स में लपेटा गया होता ताकि इसे एक सिंगल पैरामीटर के रूप में पास किया जाता, तो ऐसा नहीं होता।

अधिकांश कमांड-लाइन उदाहरण ऐसा नहीं करेंगे क्योंकि यह स्क्रिप्ट के अर्थ को अस्पष्ट कर सकता है या इसे पढ़ना अधिक कठिन बना सकता है – लेकिन यदि आप कमांड लाइन पर सीधे स्टेटमेंट निष्पादित करने के बजाय स्क्रिप्ट लिख रहे हैं और विशेष रूप से यदि आप उपयोगकर्ता इनपुट स्वीकार कर रहे हैं जहां वे गलती से स्पेस टैप कर सकते हैं (कभी उपयोगकर्ताओं पर भरोसा न करें), तो एहतियात के तौर पर अपने फ़ाइल पथ को लपेटना उचित है।

आप डेटा खोना नहीं चाहते, और आप निश्चित रूप से किसी और का डेटा खोना नहीं चाहते।

और हमेशा की तरह – अपनी फ़ाइलों और अपने सिस्टम का नियमित रूप से बैकअप लें! आप कभी नहीं जानते कि ऐसी गलती कब हो सकती है – यह आपकी गलती भी नहीं हो सकती।


  1. आपको अपने ईमेल क्यों संग्रहीत करने चाहिए और आप ऐसा कैसे कर सकते हैं आपको अपने ईमेल क्यों संग्रहीत करने चाहिए और आप ऐसा कैसे कर सकते हैं

    यह देखना मजेदार है कि हमारे तकनीकी समाधान कितनी तेजी से मजबूत डिजिटल समाधान से नाजुक डिजिटल समस्या बन जाते हैं। ईमेल को लें उदाहरण के लिए। एक ईमेल खाता होने का मतलब है कि आप कभी भी वह संदेश नहीं खोते जो आपको भेजा जाता है, है ना? नकारात्मक पक्ष यह है कि आप एक बार ईमेल की मात्रा बढ़ जाने पर वास्तव मे

  1. Bash  Until  लूप को मास्टर करें: शेल स्क्रिप्ट्स के लिए चरण-दर-चरण गाइड Bash 'Until' लूप को मास्टर करें: शेल स्क्रिप्ट्स के लिए चरण-दर-चरण गाइड

    Bash में for, while, और until तीन लूप निर्माण हैं। जबकि प्रत्येक लूप सिंटैक्टिकली और कार्यात्मक रूप से भिन्न होता है, उनका उद्देश्य एक निश्चित अभिव्यक्ति के मूल्यांकन होने पर कोड ब्लॉक पर पुनरावृति करना है। Until लूप का उपयोग कोड ब्लॉक को तब तक निष्पादित करने के लिए किया जाता है जब तक कि अभिव्यक्ति

  1. अपने iPhone का नाम आसानी से कैसे बदलें और यह क्यों मायने रखता है अपने iPhone का नाम आसानी से कैसे बदलें और यह क्यों मायने रखता है

    आपके नए iPhone का एक नाम होता है जिसमें डिफ़ॉल्ट रूप से आपका असली नाम शामिल होता है। जब तक आप अपने Apple ID के लिए एक छद्म नाम का उपयोग नहीं करते या अपना iPhone सेट करते समय, आपका असली नाम आपके iPhone के नाम में भी दिखाई देगा। यहां अपने iPhone का नाम बदलने का तरीका बताया गया है। यह ट्यूटोरियल यह भी