Du esminiai programinės įrangos kūrimo įrankiai yra „Patch“ ir „Diff“ . Jų veikimo principas nėra paslaptis, bet manau, kad šis įrašas bus įdomus. 😉
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 yra „vimdiff“ – vaizdinis įrankis, skirtas pataisymams taikyti nereikalaujant .patch failo, nes jis palygina „originalią“ ir „naują“ versijas ir leidžia redaguoti eilutę po eilutės arba visą dokumentą tame pačiame faile. Neaiškinsiu to, bet manau, kad 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“
Atlikta, čia yra vykdomas scenarijus:
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ų.
Logikos 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 kalba
Tarkime, scenarijus yra labai sunkus. Taigi, kad daugiau nesiųstume viso scenarijaus, sukuriame .patch
$ diff -u original.sh new.sh> patch.patch
Ir dabar turime savo pataisą. Štai vaizdas Vim programoje :
Taip atrodo .patch instrukcijos. Baltos spalvos buvo nemodifikuotos linijos, mėlynos - pašalintos, oranžinės - pridėtos.
Norėdami jį pritaikyti, tiesiog naudojame pataisomo scenarijaus .patch failą. Čia jis vadinamas originalAmigo.sh ir yra tiksli original.sh scenarijaus kopija.
Draugo scenarijus
$ patch originalFriend.sh <patch.patch
Taigi, mūsų originalus „Amigo.sh“ failas atrodo taip:
Draugo scenarijus pritaikius pleistrą
Kaip matote, labai lengva gauti skirtumus ir užklijuoti pleistrus. Viskas iš manęs.
Sveikinimai žmonėms, skaitysime kitą penktadienį.