![]() |
Ukazni jezik |
![]() |
Interpreter ukazov |
![]() |
Male in velike črke razlikuje |
![]() |
Ukazne datoteke (scripts) |
![]() |
Več vrst lupin: Bourne shell, c-shell, Korn shell |
; & ( ) | < > [ ] * ? ! - RETURN presledek TAB
enostavni ukazi (simple
commands)
cevovod ukazov (pipeline)
seznam ukazov (list)
sestavljeni ukazi (compound
commands)
# Bourne shell demo examples clear # clear screen ################################## # User definable variables USERS="Number of users: \c" echo $USERS who|wc -l ################################## # Positional parameters ls -l $1 ################################## # Predefined parameters echo The number of arguments is $# date & echo The proces id of the date command was $! wait echo The process id of this shell is $$ grep root /etc/passwd echo The return code from grep was $? ################################### # Command substitution echo Number of users: `who|wc -l` TERMINAL=`cat /etc/ttytype |grep ansi|wc -l` echo Number of ansi terminals: $TERMINAL #################################### # Parameter substitution DIR=${1-$HOME} ls $DIR # list defined or home directory exit 0
for identifier in word ; do list1 ; done select identifier in word ; do list ; done case word in ( pattern |pattern ...) list ;; ... esac if list1 ; then list2 elif; then list3 ; else list4 ; fi while list1 ; do list2 ; done until list2; do list 1 ; done
Ukazi v list1 so poljubni. Imamo pa nekatere "posebne ukaze" (oziroma programe).
test Ovrednoti argumente in vrne primerno vrednost true Vrne vedno true (uporabno za zanke) false vrne vedno false
-a file #ali je file navadna datoteka -b file #ali je file posebna dat. tipa block -c file #ali je file posebna dat. tipa char. -d file #ali je file direktorij -s file #ali datoteka obstaja in ni prazna -r file #ali datoteko lahko beremo -w file #ali datoteko lahko spreminjamo -x file #ali datoteko lahko izvršujemo string = patern #ali je niz enak vzorcu exp1 -eq exp2 #ali imata izraza isto vr.
if test $blabla = b1 then echo prva moznost elif test $beseda = b2 then echo druga moznost else echo kaksna druga moznost fi
################################# echo Zgled ukaza for for beseda in a1 a2 a3 a4 a5 a6 do echo izpis:$beseda done ################################### echo Zgled ukaza select echo Vnasas stevilko opcije, prekines s CTRL/D echo Odvisno od izbire bos nastavil spremenljivko blabla blabla=neznano # default vrednost select beseda in b1 b2 b3 b4 b5 do echo izbor: $beseda blabla=$beseda done ################################### echo "\nZgled ukaza case" case $blabla in (b1) echo izbral si prvo moznost;; (b2) echo izbral si drugo moznost;; (b3) echo izbral si tretjo moznost;; esac
listanje() { echo vsebina direktorija ls -l * } ################################ # Zgled klicanja funkcije listanje
#Primer preproste lupine while clear # Brisanje zaslona mesg=" \n=============================\n\n 1 ... Logirani\n 2 ... Direktorij\n 3 ... Listanje\n 4 ... Izstop\n \n ==================================\n\n Izberi:\c" do echo $mesg # Izpis menuja read ukaz # Branje izbire case $ukaz in 1) echo "\nLogirani so:"; who;; 2) echo "\nSi v direktoriju:\c"; pwd;; 3) echo "\nVsebina direktorija:"; ls -l *;; 4) exit;; esac echo "\nPritisni ENTER\n"; read kkk done