| 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