Kako sam skratio ovu veliku komandu preko aliasa u Linux-u?

 

Veoma često postoji potreba da se u Linux-u koriste komande koje imaju jako puno argumenata. S druge strane, često korištene komande sa argumentima, omogućavaju rješavanje svakodnevnih zadataka I operacija nad Linux distribucijom dosta lakšim. Kompleksnije komande koje imaju jako puno argumenata, se mogu skratiti uz pomoć alijasa. U ovom članku, ću vam na konkretan način pokazati kako jednu veliku komandu skratiti uz pomoć alijasa, te time olakšati svakodnevni posao.


== Šta je alijas i kako se kreira? ==


Alijas je ništa više do metoda ili način da se kompleksnije i robusne komande sa više argumenata, dodatno skrate. To je ustvari, kratica do izvorne komande. Evo primjera kako izgleda jedna takva komanda.

$cd lm-101-sl
$git add omegat/project_save.tmx
$git commit -m "Lesson translation updated to Slovenian"
$git push

Pogledajte samo koliko je ova komanda gore velika ali i kompleksna. Šta ova komanda radi? Obzirom da ja već neko vrijeme radim na jednom projektu za Linux Professional Institute, kao tehnički asistent za prijevode LPI101 materijala, sa engleskog na slovenski jezik, ova gornja komanda prevedene lekcija postavlja u git repozitorij `lm-101-sl`. Svaki put kada se lekcija prevede u Omegat programu, potrebno je uplodovati prijevod u git repozitorij koristeći gornju komandu. Srećom alijas ima rješenje da se ova komanda u potpunosti skrati u jednu komandu po imenu `git-update`, a upravo to ćemo sada i uraditi.


Prije nego izradimo komandu `git-update`, pogledajmo na jednom praktičnom primjeru kako se kreira custom komanda upotrebom alijasa? Recimo da imamo komandu `cd` koja omogućava odabir direktorija u Linux distribuciji, a mi želimo kreirati komandu `enter` koja će raditi isti taj zadatak. Evo kako uz pomoć alijasa kreirati takvu komandu:

$alias enter="cd"

Nakon što se unese gornja komanda, alias će kreirati komandu `enter` koja će biti dostupna za upotrebu, ali samo unutar otvorene šel sesije. Jednom kada se terminal ili sesija zatvori, alijas se briše.

Slika 1: Kreiranje alijasa `enter` | Izvor slike @bhllinux


Obratite pažnju kako komanda `enter` obavlja isti posao kretanja kroz direktorije kao i komanda `cd`. Ali je važno imati na umu da pošto jednom zatvorimo terminal u kojem je alijas kreiran, komanda `enter` više nije dostupna. No, postoji način da komanda `enter` bude trajno dostupna kroz uređivanje datoteke `~/.bashrc` što ćemo pogledati kasnije u ovom članku. Pošto smo demonstrirali način izrade alijasa, možemo preći na kreiranje naše komande `git-update`.


== Izrada `git-update` komande uz pomoć alijasa ==


Da bismo izradili komandu `git-update` uz pomoć alijasa, potrebno je unjeti sljedeću komandu u terminal. Ja koristim Ubuntu Mate Linux distribuciju, a struktura komande je sljedeća:

$ alias git-update='cd lm-101-sl && git add omegat/project_save.tmx && git commit -m '\''Lesson translation updated to Slovenian'\'' && git push'

Gornja komanda može biti pomalo zbunjujuća, pa ću pokušati da Vam objasnim što je bolje moguće. Prije svega, komanda počinje sa alias kojim se kreira naša komanda `git-update`. Obratite pažnju na logičko i `&&` koje se nalazi između komandi u gornjoj strukturi.


Komanda `git-update` ulazi u direktorij `cd-lm-101-sl` gdje zatim izvršava komandu `git add omegat/project_save.tmx` a onda, ukoliko je prethodna komanda izvršena uspješno, prelazi na komandu `git commit -m “Lesson translation updated to Slovenian”, a ukoliko je ova komanda uspješno izvršena, prelazi na posljednju komandu `git push` kojim se sve izmjene unutar projekta `lm-101-sl`, koji je otvoren u Omegat programu, guraju u pomenuti repozitorij. 


Imajte na umu da ukoliko nisu napravljene nikakve izmjene u Omegat programu, da se komanda `git-update` neće izvršiti, što je uslov koji je diktiran i logičim i `&&` koji razdvaja komande. Sada pošto je `git-update` komanda kreirana, možemo provjeriti to unosom sljedeće komande u terminalu.

$alias | grep git-update

Kada se komanda unese, u terminalu bismo trebali dobiti sljedeći izlaz koji je prikazan na slici 2.


Slika 2: Provjera `git-update` alias komande | Izvor slike @bhllinux


Sada možemo provjeriti da li naša komanda `git-update` radi kako treba. Unutar Omegat programa ćemo napraviti male izmjene, ali prije toga, evo scenarija kada komanda ne radi.


Slika 3: Scenario kada komanda `git-update` ne radi | Izvor slike @bhllinux


Razlog zašto komanda `git-update` ne radi je upravo taj što nisu napravljene nikakve izmjene unutar Omegat projekta `lm-101-sl`, a sad ćemo napraviti te male izmjene, a zatim ponovo pokrenuti našu komandu. Evo kako jedan dio lekcije `103.5.1` izgleda prije izmjene.


Slika 4: Neizmjenjen dio lekcije `103.5.1` u Omegat programu | Izvor slike @bhllinux


Ja ću samo promjeniti dio na engleskom jeziku, te isti prevesti na Slovenski jezik kako bi kreirao izmjene unutar Omegat projekta, što nakon izmjene, izgleda ovako.


Slika 5: Napravljene izmjene lekcije `103.5.1` u Omegat programu | Izvor slike @bhllinux


Sada pošto su izmjene napravljene, prevedena lekcija je kreirana, možemo izvršiti našu komandu `git-update` da vidimo da li sada radi.


Slika 6: Uspješno izvršavanje alias komande `git-update` | Izvor slike @bhllinux


Sada naša alijas komanda `git-update` radi upravo onako kako i treba. No, još nismo gotovi sa ovom komandom, jer ako se vratite na početak ovog članka, rekli smo da alias komanda `git-update` je dostupna unutar aktivnog terminala, pa pošto se on jednom zatvori, ova komanda više nije dostupna. Da bismo to riješili, potrebno je urediti datoteku `~/.bahsrc` koja se nalazi unutar /home direktorija, te dodati naš alijas `git-update` na kraj pomenute datoteke.


== Dodavanje `git-update` alijas komande u datoteku `~/.bashrc` ==


Prije svega šta je to datoteka `~/.bashrc`? Ova datoteka sadrži listu konfiguracija aktuelne Bash sesije, seriju alias komandi itd, a ista se izvršava svaki put kada se korisnik loguje ili prijavi na Linux distribuciju. Evo kako izgleda jedan njen dio:


Slika 7: Neki od alijasa unutar datoteke `~/.bashrc` | Izvor slike @bhllinux


Našu alijas komandu `git-update` je potrebno dodati na kraj ove datoteke, što je prikazano na sljedećoj slici 8. Imajte na umu da samo administrator može urediti datoteku `~/.bashrc`, te napraviti izmjene unutar iste.


Slika 8: Dodavanje alijas komande `git-update` u datoteku `~/.bashrc` | Izvor slike @bhllinux


Pošto su izmjene u datoteci napravljene upotrebom vim tekst editora, da biste spasili i zatvorili datoteku, pritisnite taster kombinacije `escape :wq`. Nakon što je alijas komanda `git-update` dodata u datoteku `~/.bashrc` potrebno je izvršiti sljedeću komandu da bi izmjene uzele efekta:

$source ~/.bash

Jednom pošto se gornja komanda izvrši, naša alijas komanda `git-update` će biti trajno dostupna za daljnju upotrebu, tako da se više ne moramo brinuti za onu robusnu komandu koja je navedena u ovom članku. Ovim bi ovaj članak bio uspješno kompletiran. Nadam se da vam se članak dopao i da ste naučili šta je to alijas, kako ga kreirati i koristiti u radu sa vašom Linux distribucijom. Do čitanja!!!

Share:

Nema komentara:

Objavi komentar

POPULARNI POSTOVI

Oznake

NAJNOVIJE