Skip to content

Uvod

Večina dela z računalniki v gruči poteka skozi ukazno lupino (angl. command shell). To je program, ki uporabniške ukaze posreduje operacijskemu sistemu. Ponavadi z njo delamo interaktivno: ko vpišemo ukaz, ga lupina izvede in izpiše rezultat oziroma napako, nakar čaka na naslednji ukaz. Zaporedje ukazov lahko shranimo tudi v datoteko, ki ji pravimo skripta1 (angl. script). Lupina ukaze v skripti izvaja enega za drugim.

Najširše uporabljana lupina je bash, ki je razširjena različica Bournove lupine sh. Popularna alternativa je zsh, ki ponuja prijetnejši uporabniški vmesnik za interaktivno rabo. Vse tri lupine uporabljajo zelo podoben ukazni jezik, katerega osnovno različico definira standard POSIX.

Ker se rabi lupine težko izognemo pri delu s superračunalniki – pa tudi sicer nam lahko precej olajša mnoga opravila – si jo bomo za začetek ogledali malo podrobneje. Ukazni jezik lupine sicer ni namenjen pisanju kompleksnih programov, je pa nadvse primeren za opis procesov, kjer vhodne podatke obdelamo z enim ali več obstoječimi programi. Tudi Slurm za svoje paketne posle (angl. batch) uporablja lupinske skripte.

V tem poglavju bomo spoznali nekaj elementov tega jezika, ki nam pridejo prav pri obdelavi podatkov in kombiniranju programov. Omejili se bomo na standardno različico lupine, ki jo podpirajo vsi obstoječi uporabniški sistemi. Poglobljeno razlago ukaznega jezika najdemo v enem od mnogih priročnikov. Za neučakane pa je prelet "plonk listka" tudi precej zgovoren.

Ukazni jezik ima dva ne povsem združljiva namena: interaktivno in skriptno rabo. Ker želimo v ukazni vrstici delati učinkovito, je jezik prilagojen tej rabi. Pogosto lahko izpustimo kakšno slovnično podrobnost, lupina pa še zmeraj ugane in naredi pravo stvar. Ravno zaradi tega nas, sploh pri uporabi kompleksnejših oblik v skriptah, včasih preseneti. Nekaj pravil za lepšo izgovorjavo bomo izpostavili tukaj, več pa jih najdemo med pogostimi vprašanji in odgovori na kanalu #bash.


  1. SSKJ (in skoraj nihče drug) ji pravi skript