टर्मिनल शुक्रवार: पॅच अँड डिफ

सॉफ्टवेअर डेव्हलपमेंटची दोन आवश्यक साधने आहेत ठिगळ y डिफ. ते कसे कार्य करतात हे रहस्य नाही, परंतु मला वाटते की हे एक मनोरंजक पोस्ट असेल. 🙂

दोघेही खूप शक्तिशाली आहेत आणि हे पृष्ठभागाला स्पर्श करण्यासारखेच आहे, त्यांच्याकडे अधिक उपयुक्तता आणि इतर कार्ये आहेत. मुळात या दोन साधनांसह आम्ही आवृत्ती नियंत्रण तयार करू शकतो,


डिफ

आम्ही तुलना संदर्भित करतो, ती "नवीन" फाईलची तुलना "मूळ" फाईलशी करते आणि त्या दरम्यान अस्तित्त्वात असलेल्या फरकांची आपल्याला माहिती देते. हे साधन आम्हाला आमच्या प्रोग्रामसाठी पॅच तयार करण्यासाठी वापरत असलेल्या. पॅच फायली तयार करण्यास देखील अनुमती देते.


ठिगळ

ही कमांड आहे ज्याद्वारे आम्ही आमच्या मूळ फाईलला अक्षरशः "पॅच" करतो.. पॅच फाईलमधील निर्देशांनुसार ओळी जोडणे आणि / किंवा काढणे.


तेथे आहे विमडिफ, जे पॅच फाइलची आवश्यकता न पडता पॅच लागू करण्यासाठी व्हिज्युअल साधन आहे, कारण त्यात "मूळ" आणि "नवीन" ची तुलना केली जाते आणि त्याच फाईलवर लाइनद्वारे किंवा संपूर्ण दस्तऐवजाद्वारे संपादन करणे शक्य आहे. हे मी समजावून सांगणार नाही परंतु मला वाटते की ते उल्लेख पात्र आहे.


उदाहरण

आता मजा आहे. उदाहरण!

हे प्रकरण आहे, आमच्याकडे एक उत्कृष्ट स्क्रिप्ट आहे ज्यामध्ये आपले नाव आणि आपले वय विचारण्यात आले आहे, जर आपले वय 18 वर्षांपेक्षा जास्त असेल तर ते आपल्याला मतदान करू शकते असे सांगते, अन्यथा ते आपल्याला सांगू शकत नाही की आपण मतदान करू शकत नाही.

मूळ.श

# !! " अन्यथा "नमस्कार $ नाव, आपण $ म्हातारे आहात आणि आपण मतदान करू शकत नाही ..." फाय
विममधील कोडची प्रतिमा

विममधील कोडची प्रतिमा

पूर्ण झाले, येथे चालणारी स्क्रिप्ट आहे:

सर्व काही ठीक दिसत आहे

सर्व काही ठीक दिसत आहे

म्हणून, आम्ही जेवढे चांगले वापरकर्ते आहोत तेवढेच आपण आपली स्क्रिप्ट मित्राबरोबर सामायिक करतो :) पण आम्हाला एक संदेश मिळाला की त्यात त्रुटी आहे, जेव्हा ती 18 वर्षांची असते तेव्हा असे म्हणतात की जेव्हा ते पाहिजे तेव्हा मतदान करू शकत नाही.

तर्कशास्त्र त्रुटी :(

लॉजिक त्रुटी 🙁

आता आम्ही लहान त्रुटी सुधारण्यास प्रारंभ करतो आणि काही बदल करू ...

new.sh

#! / बिन / बॅश मॅक्सएज = 18 प्रतिध्वनी "आपले नाव प्रविष्ट करा:"; "आपले वय लिहा:" या नावाचे नाव वाचा. वय [[$ maxAge -le $ age]] वाचा; तर “नमस्कार $ नाव, आपण $ वर्षांचे आहात आणि आपण मतदान करू शकता! अन्यथा "नमस्कार $ नाव, आपण $ वर्षे वयाचे आहात आणि आपण मतदान करू शकत नाही ..." असे प्रतिध्वनित केले
विम मध्ये नवीन कोड लिहिला

नवीन कोड लिहिला आहे विम

समजा स्क्रिप्ट खूपच भारी आहे. तर, संपूर्ण स्क्रिप्ट पुन्हा पाठवू नये म्हणून आम्ही एक .patch create तयार करतो

$ भिन्न -u original.sh new.sh> पॅच.पॅच

आणि आता आपल्याकडे पॅच आहे. येथे एक दृश्य आहे विम:

.पॅचसाठीच्या सूचना अशाच असतात. पांढर्‍यामध्ये सुधारित न केलेल्या रेषांमध्ये, निळ्या रंगात काढल्या गेलेल्या, नारिंगीत जोडलेल्या.

.पॅचसाठीच्या सूचना अशाच असतात. पांढर्‍यामध्ये सुधारित न केलेल्या रेषांमध्ये, निळ्या रंगात काढल्या गेलेल्या, नारिंगीत जोडलेल्या.

आणि ते लागू करण्यासाठी आम्ही पॅच करण्यासाठी स्क्रिप्टमधील फक्त. पॅच फाईल वापरतो. येथे म्हणतात originalAmigo.sh, जी स्क्रिप्टची तंतोतंत प्रत आहे मूळ.श

मित्र स्क्रिप्ट

मित्र स्क्रिप्ट

$ पॅच ओरिजनल फ्रेंड.श <पॅच.पॅच

हे आपल्या फाईलमधे सोडते originalAmigo.sh तरः

पॅच लावल्यानंतर फ्रेन्ड स्क्रिप्ट

पॅच लावल्यानंतर फ्रेन्ड स्क्रिप्ट

जसे आपण पाहू शकता की भिन्नता मिळवणे आणि पॅचेस लागू करणे खूप सोपे आहे. हे सर्व माझ्याकडून आहे.

लोकांना नमस्कार, आम्ही पुढील शुक्रवारी वाचू.


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   झेरिक्स म्हणाले

    मस्त, खूप आभारी आहे 🙂

  2.   देवदूत म्हणाले

    आपणास काही रंग हवा असल्यास कृपया कॉलर्डिफ ^ __ ^ वापरा

  3.   इलियोटाइम 3000 म्हणाले

    डेबियनमध्ये पॅच कसे कार्य करतात हे आता मला समजले आहे.

  4.   फे_फ्लोरे म्हणाले

    हॅलो, मला माहिती आहे की कन्सोलवरून सिस्टम-सूचना अधिसूचना-पाठविण्यासह दर्शविली जाऊ शकते, परंतु मला काय करायचे आहे की मला किती वेळ किंवा किती वेळ सूचना दर्शवायची ते ठरविण्यास सक्षम आहे, असे करण्याचा काही मार्ग आहे का? मी प्राथमिक वापरतो, जो उबंटू 12.04 वर आधारित आहे, जर हे मदत करते तर धन्यवाद

    1.    चैतन्यशील म्हणाले

      ठीक आहे, हे सिस्टम क्रोन using वापरून केले जाऊ शकते

      1.    फे_फ्लोरे म्हणाले

        आणि ते कसे करता येईल? मला नुकताच notify-send कमांड कसे वापरायचे ते शिकले

        1.    वाडा म्हणाले

          आपण ब्लॉगमध्ये येथे क्रोन शोधू शकता याबद्दल बर्‍याच पोस्ट आहेत 🙂

  5.   जोकिन म्हणाले

    खूप छान धन्यवाद!

  6.   धुंटर म्हणाले

    मी नेहमीच हे कर्नल अद्यतनित करण्यासाठी वापरतो, मी केवळ पॅच डाउनलोड करतो आणि स्त्रोतांना लागू करतो, म्हणून मला प्रत्येक प्रकाशन 80mb डाउनलोड करण्याची आवश्यकता नाही.