Terminalo penktadienis: Patch and Diff

Du pagrindiniai programinės įrangos kūrimo įrankiai yra Pleistras y DIF. Ne paslaptis, kaip jie veikia, bet manau, kad tai bus įdomus įrašas. 🙂

Abi yra labai galingos, ir tai yra kaip prisilietimas prie paviršiaus, jos turi daugiau komunalinių paslaugų ir kitų funkcijų. Iš esmės naudodamiesi šiais dviem įrankiais galime sukurti versijų valdymą,


DIF

Mes remiamės palyginimu, jis palygina „originalų“ failą su „nauju“ ir informuoja mus apie egzistuojančius skirtumus. Šis įrankis taip pat leidžia mums sukurti .patch failus, kuriuos naudojame kurdami savo programų pataisas.


Pleistras

Tai komanda, kuria tiesiogine prasme „pataisome“ savo originalų failą, pridedant ir (arba) pašalinant eiles pagal instrukcijas, esančias .patch faile.


Taip pat egzistuoja vimdifas, kuris yra vaizdinis įrankis pataisoms pritaikyti nereikalaujant .patch failo, nes jis lygina „originalus“ ir „naujas“, o tame pačiame faile galima redaguoti eilutes pagal eilutes arba visą dokumentą. Aš to nepaaiškinsiu, bet manau, kad tai verta paminėti.


pavyzdys

Dabar smagu. Pavyzdys!

Tai yra tas atvejis, mes turime puikų scenarijų, kuriame prašoma jūsų vardo ir amžiaus. Jei esate vyresnis nei 18 metų, jums sakoma, kad galite balsuoti, kitaip - kad negalima balsuoti.

originalus.sh

#! / bin / bash echo "Įveskite savo vardą:" skaitykite vardą echo "Įveskite savo amžių:" skaitykite amžių, jei [[18 -lt $ amžius]], tada aidite "labas $ vardas, tu esi $ senas ir tu gali balsuoti!" dar vienas aidas „Sveikas, $ name, tu esi $ senas ir negali balsuoti ...“
Kodo vaizdas „Vim“

Kodo vaizdas „Vim“

Atlikta, čia yra vykdomas scenarijus:

Atrodo, kad viskas veikia gerai

Atrodo, kad viskas veikia gerai

Taigi, kaip geri vartotojai, kokie esame, mes dalinamės scenarijumi su draugu :), tačiau gauname pranešimą, kuriame sakoma, kad jis turi trūkumų, kad sulaukęs 18 metų jis negali balsuoti tada, kai turėtų.

Loginė klaida :(

Loginė klaida 🙁

Dabar mes pradedame taisyti nedidelę klaidą ir atlikti keletą pakeitimų ...

naujas.sh

#! / bin / bash maxAge = 18 aidas "Įveskite savo vardą:"; perskaityti vardo atgarsį „Parašyk savo amžių:“; skaitymo amžius, jei [[$ maxAge -le $ age]]; tada aidėk: „Sveikas, $ name, tau $ metų ir tu gali balsuoti!“ dar vienas aidas "Hello $ name, you are $ old and you can't balsate ..." fi exit 0
Naujas kodas parašytas „Vim“

Naujas kodas parašytas Vim

Tarkime, scenarijus yra labai sunkus. Taigi, norėdami daugiau nebesiųsti viso scenarijaus, sukuriame .patch 😀

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

Ir dabar mes turime savo pleistrą. Čia yra vaizdas Vim:

Taip atrodo .patch instrukcijos. Baltos spalvos buvo nemodifikuotos linijos, mėlynos - pašalintos, oranžinės - pridėtos.

Taip atrodo .patch instrukcijos. Baltos spalvos buvo nemodifikuotos linijos, mėlynos - pašalintos, oranžinės - pridėtos.

Norėdami jį pritaikyti, mes paprasčiausiai naudojame pataisytame scenarijuje esantį .patch failą. Čia vadinamas originalus Amigo.sh, kuri yra tiksli scenarijaus kopija originalus.sh

Draugo scenarijus

Draugo scenarijus

$ patch originalFriend.sh <patch.patch

Tai palieka mums bylą originalus Amigo.sh Taigi:

Draugo scenarijus pritaikius pleistrą

Draugo scenarijus pritaikius pleistrą

Kaip matote, labai lengva gauti skirtumus ir užklijuoti pleistrus. Viskas iš manęs.

Sveikinimai žmonėms, skaitysime kitą penktadienį.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   „Xerix“ sakė

    Puiku, labai ačiū 🙂

  2.   angelų ašmenys sakė

    Jei norite spalvos, naudokite colordiff ^ __ ^

  3.   3000 sakė

    Dabar suprantu, kaip „Debian“ veikia pleistrai.

  4.   fer_pflores sakė

    Sveiki, aš žinau, kad sistemos pranešimai gali būti rodomi su pranešimų siuntimu iš konsolės, bet ką norėčiau padaryti, tai galėčiau suplanuoti, kurį laiką ar kiek laiko man rodyti pranešimą, ar yra kokiu nors būdu tai padaryti? Ačiū, jei naudoju elementarų, kuris pagrįstas „Ubuntu 12.04“, naudoju

    1.    gyvas sakė

      Na, tai galima padaryti naudojant sistemą cron 😉

      1.    fer_pflores sakė

        ir kaip tai galima padaryti? Vos išmokau naudoti komandą Pranešti-siųsti

        1.    wada sakė

          Cron galite ieškoti čia, tinklaraštyje, apie jį yra daugybė įrašų 🙂

  5.   Joaquinas sakė

    Labai gerai, ačiū!

  6.   dunteris sakė

    Aš visada naudoju tai atnaujindamas branduolį, atsisiunčiu tik pleistrus ir pritaikau šaltinius, todėl man nereikia atsisiųsti 80 MB kiekvieno leidimo.