Termināla piektdiena: Patch and Diff

Divi no būtiskākajiem programmatūras izstrādes rīkiem ir plāksteris y Atšķirība. Nav noslēpums, kā viņi strādā, bet es domāju, ka tas būs interesants ieraksts. 🙂

Abi ir ļoti spēcīgi, un tas ir tāpat kā pieskaršanās virsmai, tiem ir vairāk utilītu un citu funkciju. Būtībā ar šiem diviem rīkiem mēs varam izveidot versiju kontroli,


Atšķirība

Mēs atsaucamies uz salīdzinājumu, tas salīdzina "oriģinālo" failu ar "jauno" un informē mūs par atšķirībām, kas starp tām pastāv. Šis rīks arī ļauj mums izveidot .patch failus, kurus izmantojam, lai izveidotu mūsu programmu ielāpus.


plāksteris

Tā ir komanda, ar kuru mēs burtiski "ielāpām" savu sākotnējo failu, pievienojot un / vai noņemot rindas saskaņā ar instrukcijām, kas ietvertas .patch failā


Ir arī vimdiff, kas ir vizuāls rīks ielāpu lietošanai bez .patch faila nepieciešamības, jo tajā tiek salīdzināti "oriģināls" un "jauns", un tajā pašā failā ir iespējams rediģēt rindu pa rindai vai visu dokumentu. To es nepaskaidrošu, bet es domāju, ka tas ir pelnījis pieminēšanu.


piemērs

Tagad jautrība ir. Piemērs!

Tas tā ir, mums ir lielisks skripts, kurā tiek prasīts jūsu vārds un jūsu vecums. Ja jums ir vairāk nekā 18 gadu, tas jums saka, ka jūs varat balsot, pretējā gadījumā tas norāda, ka jūs nevarat balsot.

oriģināls.sh

#! / bin / bash echo "Ievadiet savu vārdu:" lasīt vārdu atbalss "Ievadiet savu vecumu:" lasīt vecumu, ja [[18 -lt $ vecums]], tad atbalss "Sveiks $ vārds, tu esi $ vecs un vari balsot! " cits atbalss "Sveiks $ vārds, tu esi $ vecs un nevari balsot ..." fi
Vim koda attēls

Vim koda attēls

Gatavs, šeit ir skripts, kas darbojas:

Šķiet, ka viss darbojas labi

Šķiet, ka viss darbojas labi

Tā kā mēs esam labi lietotāji, mēs kopīgojam savu scenāriju ar draugu :), bet mēs saņemam ziņojumu, kurā teikts, ka tam ir trūkums, ka tad, kad viņam ir 18, viņš saka, ka nevar balsot, kad vajadzētu.

Loģikas kļūda :(

Loģikas kļūda 🙁

Tagad mēs sākam labot nelielu kļūdu un veikt dažas izmaiņas ...

jauns.sh

#! / bin / bash maxAge = 18 atbalss "Ievadiet savu vārdu:"; lasīt vārdu atbalss "Uzraksti savu vecumu:"; lasīt vecumu, ja [[$ maxAge -le $ vecums]]; tad atbalss "Sveiks $ vārds, tev ir $ gadi un tu vari balsot!" cits atbalss "Sveiks $ vārds, tu esi $ vecs un tu nevari balsot ..." fi izeja 0
Jauns kods ierakstīts Vim

Jauns kods rakstīts šādā valodā: spars

Pieņemsim, ka skripts ir ļoti smags. Tātad, lai vēlreiz nesūtītu visu skriptu, mēs izveidojam .patch 😀

$ diff -u original.sh new.sh> patch.patch

Un tagad mums ir mūsu plāksteris. Lūk, skats uz spars:

Šādi izskatās .patch instrukcijas. Baltajās līnijās, kas netika modificētas, zilā krāsā - noņemtās, oranžajā krāsā - pievienotās.

Šādi izskatās .patch instrukcijas. Baltajās līnijās, kas netika modificētas, zilā krāsā - noņemtās, oranžajā krāsā - pievienotās.

Un, lai to pielietotu, mēs vienkārši izmantojam .patch failu, kas tiks ielāpīts skriptā. Šeit sauc oriģinālsAmigo.sh, kas ir precīza skripta kopija oriģināls.sh

Drauga skripts

Drauga skripts

$ patch originalFriend.sh <patch.patch

Un tas mums atstāj mūsu lietu oriģinālsAmigo.sh Tātad:

Drauga skripts pēc plākstera lietošanas

Drauga skripts pēc plākstera lietošanas

Kā redzat, ir ļoti viegli iegūt diffus un uzlikt plāksterus. Tas viss ir no manis.

Sveicieni cilvēkiem, mēs lasīsim nākamajā piektdienā.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Xerix teica

    Lieliski, liels paldies 🙂

  2.   eņģeļu asmens teica

    Ja vēlaties krāsu, lūdzu, izmantojiet colordiff ^ __ ^

  3.   3000 teica

    Tagad es saprotu, kā plāksteri darbojas Debian.

  4.   fer_pflores teica

    Labdien, es zinu, ka sistēmas paziņojumus var parādīt, izmantojot paziņojumu-sūtīšanu no konsoles, bet ko es vēlētos darīt, ir iespēja ieplānot, kurā laikā vai cik ilgi man parādīt paziņojumu, vai ir kāds veids, kā to izdarīt? Es izmantoju elementāru, kura pamatā ir Ubuntu 12.04, ja tas palīdz, paldies

    1.    dzīvīgs teica

      Nu, to var izdarīt, izmantojot sistēmas cron 😉

      1.    fer_pflores teica

        un kā to var izdarīt? Es tikko iemācījos izmantot komandu paziņot-nosūtīt

        1.    trūkums teica

          Jūs varat meklēt cron šeit, emuārā, par to ir daudz ziņu 🙂

  5.   Joaquin teica

    Ļoti labi, paldies!

  6.   dunter teica

    Es vienmēr to izmantoju, lai atjauninātu kodolu, es lejupielādēju tikai ielāpus un lietoju avotus, tāpēc man nav jālejupielādē katrs 80 MB.