Două dintre instrumentele esențiale în dezvoltarea de software sunt Plasture y Dif. Nu este un mister despre modul în care funcționează, dar cred că acesta va fi un post interesant. 🙂
Ambele sunt foarte puternice și acest lucru este la fel ca atingerea suprafeței, au mai multe utilități și alte funcții. Practic, cu aceste două instrumente putem crea controlul versiunilor,
Dif
Ne referim la comparație, compară un fișier „original” cu cel „nou” și ne informează despre diferențele care există între ele. Acest instrument ne permite, de asemenea, să creăm fișiere .patch pe care le folosim pentru a crea patch-uri pentru programele noastre.
Plasture
Este comanda cu care literalmente „patchem” fișierul original, adăugând și / sau eliminând linii conform instrucțiunilor conținute în fișierul .patch
Există, de asemenea, vimdiff, care este un instrument vizual pentru a aplica patch-uri fără a fi nevoie de un fișier .patch, deoarece compară „original” și „nou” și pe același fișier este posibil să editați linie cu linie sau întregul document. Nu voi explica acest lucru, dar cred că merită o mențiune.
exemplu
Acum distracția este. Exemplu!
Acesta este cazul, avem un scenariu grozav care vă cere numele și vârsta, dacă aveți peste 18 ani vă spune că puteți vota, altfel vă spune că nu puteți vota.
original.sh
#! / bin / bash echo "Introduceți-vă numele:" citiți numele echo "Introduceți vârsta dvs.:" citiți vârsta dacă [[18 -lt $ age]] atunci ecou "Bună $ nume, ești $ vechi și poți vota!" altfel ecou „Salut $ nume, ești $ vechi și nu poți vota ...” fi
Gata, iată scriptul care rulează:
Deci, ca utilizatori buni, suntem împărtășiți scriptul cu un prieten :), dar primim un mesaj care spune că are un defect, că atunci când are 18 ani spune că nu poate vota când ar trebui.
Acum începem să corectăm mica eroare și să facem câteva modificări ...
nou.sh
#! / bin / bash maxAge = 18 echo "Introduceți-vă numele:"; citește numele ecou „Scrie vârsta ta:”; citește vârsta dacă [[$ maxAge -le $ age]]; apoi ecou „Salut $ nume, ai $ ani și poți vota!” altfel ecou "Salut $ nume, ai $ ani și nu poți vota ..." fi ieșire 0
Să presupunem că scenariul este foarte greu. Deci, pentru a nu trimite din nou întregul script, creăm un .patch 😀
$ diff -u original.sh new.sh> patch.patch
Și acum avem patch-ul nostru. Iată o vedere asupra sevă:
Și pentru a-l aplica, folosim pur și simplu fișierul .patch din script pentru a fi corecți. Aici se numește originalAmigo.sh, care este o copie exactă a scriptului original.sh
$ patch originalFriend.sh <patch.patch
Și asta ne lasă dosarul nostru originalAmigo.sh Asa de:
După cum puteți vedea, este foarte ușor să obțineți diferențele și să aplicați patch-urile. Totul este de la mine.
Salutări oamenilor, vom citi vinerea viitoare.
Super, mulțumesc mult 🙂
Dacă doriți ceva culoare, vă rugăm să utilizați colordiff ^ __ ^
Acum înțeleg cum funcționează patch-urile în Debian.
Bună ziua, știu că notificările de sistem pot fi afișate cu notificare-trimitere de pe consolă, dar ceea ce aș dori să fac este să pot programa la ce oră sau cât timp să îmi arăt o notificare, există vreo modalitate de a o face? Folosesc elementar, care se bazează pe Ubuntu 12.04, în caz că ajută, mulțumesc
Ei bine, se poate face folosind sistemul cron 😉
și cum se poate face asta? Tocmai am aflat cum să folosesc comanda de notificare-trimitere
Puteți căuta cron aici în blog, există multe postări despre asta 🙂
Foarte bine, multumesc!
Folosesc întotdeauna acest lucru pentru a actualiza kernel-ul, descarc doar patch-urile și mă aplic la surse, deci nu trebuie să descarc 80mb fiecare versiune.