19. 7. 2020.

Pisanje skripti u Bešu







        
                  






Ovim člankom započinjemo serijal o veštini za koju smo sigurni da može biti od velike koristi za naprednije korisnike linuks operativnih sistema. Pisanje skripti u Bešu (eng. Bash) je moćna i korisna veština koja nam omogućava da automatizujemo veliki broj radnji. Iako je ova veština neizostavna za nekog ko želi da bude sistem administrator, ovaj serijal će biti orijentisan ka početnim korisnicima koji se do sada nisu susretali sa pisanjem skripti, ali je neophodno da su upoznati sa osnovama programiranja i osnovnim komandama u Bešu, o kojima možete pročitati u drugom serijalu koji je obavljen u ovom časopisu.

Za početak, unutar direktorijuma po izboru, komandom mkdir ćemo napraviti novi radni direktorijum u kojem ćemo do kraja serijala obavljati sve radnje. Unutar novonapravljenog direktorijuma napravićemo nekoliko fajlova sa različitim ekstenzijama i unutar tih fajlova sa editorom po izboru uneti neki tekst, nije neophodno da tekst bude povezan sa ekstenzijom fajla.

Mkdir radni_dir touch vebsajt.html touch program.c touch beleske.txt touch lista_poslova.txt

U nastavku ćemo komandom ls izlistati fajlove, ali ono što vam je možda novo jeste dodatak *.txt koji komandi ls govori da izlista sve fajlove koji se završavaju sa “.txt”. Sledeća komanda, stat, će nam dati osnovne podatke o fajlu kao što su veličina fajla, prava pristupa, kada je poslednji put izmenjen i slično.

ls *.txt stat program.c wc -l vebsajt.html

Komanda wc (skr. Word count) uz dodat parametar -l će ispisati broj linija unutar fajla. Ova komanda ima mogućnost da ispiše broj linija, karaktera, bajtova ili reči, kako bismo znali koje su oznake za flegove koji se prosleđuju ovoj komandi. Bitno je da se dobro snalazite u dokumentaciji koja dolazi uz Beš komande, odnosno da znate da koristite ime_komande –help za osnovnu dokumentaciju i man ime_komande za opširniju dokumentaciju.

Dobili smo zadatak da prosledimo kolegi u jednom fajlu poslove koje ćemo danas obaviti i želimo da mu pošaljemo prvih pet poslova sa liste poslova. Umesto da otvorimo fajl, iskopiramo prvih pet redova, pa onda kreiramo novi fajl u koji ćemo ubaciti prvih pet poslova, sav ovaj posao može se obaviti u jednoj liniji. Komandom head (glava) ćemo uzeti prvih nekoliko linija, a dodatkom -n5 ćemo naznačiti komandi da uzme prvih pet iz fajla lista_poslova.txt i onda uz pomoć operatora >, ono što nam vraća komanda head ćemo proslediti u fajl danasnji_poslovi.txt, i tom prilikom nije potrebno da kreiramo taj fajl već se to automatski odradi ukoliko je fajl prosleđen operatoru > ne postoji u radnom direktorijumu. Nakon toga ćemo komandom cat samo prikazati sadržaj nove liste.

LiBRE! časopis - kompletan tekst