Pénteki terminál: Patch és Diff

A szoftverfejlesztés két alapvető eszköze: Tapasz y Diff. Nem rejtély, hogyan működnek, de szerintem ez érdekes bejegyzés lesz. 🙂

Mindkettő nagyon erős, és ez pont olyan, mint a felület megérintése, több segédprogrammal és más funkcióval rendelkeznek. Alapvetően ezzel a két eszközzel létrehozhatunk verziószabályozást,


Diff

Összehasonlításra hivatkozunk, összehasonlít egy "eredeti" fájlt az "újval", és tájékoztat bennünket a közöttük fennálló különbségekről. Ez az eszköz lehetővé teszi számunkra .patch fájlok létrehozását is, amelyekkel javításokat hozunk létre programjainkhoz.


Tapasz

Ez az a parancs, amellyel szó szerint "foltozzuk" az eredeti fájlunkat, sorokat adunk hozzá és / vagy eltávolítunk a .patch fájl utasításainak megfelelően.


Van is vimdiff, amely vizuális eszköz a javítások alkalmazásához .patch fájl nélkül, mivel összehasonlítja az "eredeti" és az "új" elemeket, és ugyanazon a fájlon lehetőség van soronként vagy a teljes dokumentum szerkesztésére. Ezt nem magyarázom el, de szerintem említést érdemel.


példa

Most a móka az. Példa!

Ez a helyzet, remek forgatókönyvünk van, amely a nevedet és az életkorodat kéri. Ha 18 évesnél idősebb vagy, akkor azt mondod, hogy szavazhatsz, különben azt mondod, hogy nem szavazhatsz.

eredeti.sh

#! / bin / bash echo "Írja be a nevét:" olvassa el a nevét echo "Írja be az életkorát:" olvassa el az életkorát, ha [[18 -lt $ kor]], akkor visszhangozza: "Hello $ név, te $ éves vagy, és szavazhatsz!" másképpen visszhangzik: "Hello $ név, te $ éves vagy, és nem tudsz szavazni ..." fi
A kód képe a Vim-ben

A kód képe a Vim-ben

Kész, itt van a futó szkript:

Úgy tűnik, minden rendben működik

Úgy tűnik, minden rendben működik

Tehát, mint jó felhasználók vagyunk, megosztjuk a szkriptünket egy barátommal :), de kapunk egy üzenetet, miszerint hibája van, hogy amikor 18 éves, azt mondja, hogy nem szavazhat, amikor kellene.

Logikai hiba :(

Logikai hiba 🙁

Most elkezdjük kijavítani az apró hibát és néhány módosítást végrehajtani ...

új.sh

#! / bin / bash maxAge = 18 echo "Írja be a nevét:"; read name echo "Írja meg az életkorát:"; olvasási kor, ha [[$ maxAge -le $ age]]; majd visszhangozza: "Hello $ name, $ éves vagy, és szavazhatsz!" else visszhangozza a "Hello $ name, $ éves vagy, és nem tudsz szavazni ..." fi exit 0
Új kód a Vim-be írva

Új kód beírva életkedv

Tegyük fel, hogy a forgatókönyv nagyon nehéz. Tehát annak érdekében, hogy ne küldjük el újra a teljes szkriptet, létrehozunk egy .patch 😀 fájlt

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

És most megvan a javításunk. Itt van egy nézet életkedv:

Így néznek ki a .patch utasításai. Fehérben a nem módosított vonalak, kékben az eltávolítottak, narancssárgával a hozzáadott vonalak.

Így néznek ki a .patch utasításai. Fehérben a nem módosított vonalak, kékben az eltávolítottak, narancssárgával a hozzáadott vonalak.

És annak alkalmazásához egyszerűen a .patch fájlt használjuk a javítandó szkriptben. Itt hívják eredeti Amigo.sh, amely a szkript pontos másolata eredeti.sh

Friend script

Friend script

$ patch originalFriend.sh <patch.patch

És ez nekünk hagyja az aktánkat eredeti Amigo.sh Így:

Friend script a javítás alkalmazása után

Friend script a javítás alkalmazása után

Mint látható, nagyon könnyű megszerezni a diff-eket és felhelyezni a javításokat. Tőlem van minden.

Üdvözlet emberek, jövő pénteken olvassuk.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Xerix dijo

    Nagyszerű, nagyon köszönöm 🙂

  2.   angyalpenge dijo

    Ha színt szeretne, használja a colordiff ^ __ ^ parancsot

  3.   eliotime3000 dijo

    Most már értem, hogyan működnek a javítások a Debianban.

  4.   fer_pflores dijo

    Helló, tudom, hogy a rendszer értesítései megjeleníthetők a konzol értesítés-küldés funkciójával, de azt szeretném megtenni, hogy be tudjam-e ütemezni, hogy milyen időpontban vagy mennyi ideig jelenítsenek meg nekem egy értesítést. Az elementary-t használom, amely az Ubuntu 12.04-re épül, hátha segít, köszönöm

    1.    élénk dijo

      Nos, a cron 😉 segítségével megtehető

      1.    fer_pflores dijo

        és hogyan lehet ezt megtenni? Most tanultam meg az értesítés-küldés parancs használatát

        1.    hátrány dijo

          Cront kereshet itt a blogban sok bejegyzés van róla 🙂

  5.   Joaquin dijo

    Jól, köszi!

  6.   vadász dijo

    Ezt mindig a kernel frissítésére használom, csak a javításokat töltöm le, és a forrásokra alkalmazom, így nem kell minden egyes kiadást letölteni 80 MB-ra.