11. shell skripte
DESCRIPTION
Java shell basic serbian srpskiTRANSCRIPT
-
Shell skripte
Operativni sistemi raunske vebe Termin 11
Doc. Dr Veljko StankoviAldina Pljaskovi, dipl. in.
-
Uvod
Kreiranje shell skripte
Sistemske promenljive
Korisnike promenljive
Parametri
Komande
Programske strukture
Shell skripte
2
-
Uvod
Kreiranje shell skripte
Sistemske promenljive
Korisnike promenljive
Parametri
Komande
Programske strukture
Shell skripte
3
-
Program koji se izvrava u shell-u OS-a manipulacija datotekama
izvravanje komandi i izvrnih datoteka
tampanje poruka
Automatizacija najee izvravanih komandi tekstualna datoteka sa vie komandi
interpreter redom izvrava komande jednu za drugom
Shell skripte
Shell skripta
4
-
Prednosti jednostavnost
brzina razvijanja
povezivanje postojedih komandi i aplikacija
interpretiranje umesto prevoenja
Mane greke dovode do katastrofalnih posledica
loe performanse, kompatibilnost, ogranienost
Shell skripte
Shell skripta
5
-
Uvod
Kreiranje shell skripte
Sistemske promenljive
Korisnike promenljive
Parametri
Komande
Programske strukture
Shell skripte
6
-
1. Kreiranje tekstualne datoteke (*.sh) tekstualni editor (npr. kate, kWrite)
2. Pisanje programa
3. Podeavanje rx privilegija
4. Izvrenje skripte $sh ime_skripte
5. Lociranje
Shell skripte
Kreiranje shell skripte
7
-
1. Kreirati tekstualnu datoteku zad_1.sho cat > zad_1.sh
2. Otkucati teksto echo Hello world
o Ctrl +D
3. Podesiti rx privilegije
4. Izvriti skriptu
Shell skripte
1. Zadatak
8
-
1. Sistemske promenljive
2. Korisnike promeljive
3. Pozicioni parametri
4. Specijalne promenljive
5. Programske strukture
Shell skripte
Elementi shell skripte
9
-
Uvod
Kreiranje shell skripte
Sistemske promenljive
Korisnike promenljive
Parametri
Komande
Programske strukture
Shell skripte
10
-
Sistemske promenljive
Shell skripte
Elementi shell skripte
11
-
Uvod
Kreiranje shell skripte
Sistemske promenljive
Korisnike promenljive
Parametri
Komande
Programske strukture
Shell skripte
12
-
alfanumeriki niz karaktera
poinje slovom ili znakom _
ne treba koristiti specijalne karaktere *, ?, #
case sensitive
Primeri: HOME, SYSTEM_VERSION, no1, v1ar
Shell skripte
Korisnike promenljive
13
-
Bez posebne deklaracije
Numeriki tip:
n=10 (n =10, n= 10, n = 10)
Znakovni tip:
ime=Rec
tekst=operativni sistemi
NULL vrednost:
ime=
ime=
Shell skripte
Korisnike promenljive
14
-
Referenciranje - znak $ echo $ime
Podrazumevana vrednost je NULL
MY_MESSAGE=Hello world
MY_SHORT_MESSAGE=hi
MY_NUMBER=1
MY_PI=3.142
MY_OTHER_PI=3,142
MY_MIXED=123abc
Shell skripte
Korisnike promenljive
15
-
Uvod
Kreiranje shell skripte
Sistemske promenljive
Korisnike promenljive
Parametri
Komande
Programske strukture
Shell skripte
16
-
Pozicioni ulazni parametri (argumenti)
$sh ime_skripte
pristupanje argumentima $1, $2, itd.
programska dodela set
set p1 p2 p3 == $1=p1 $2=p2 $3=p3
Specijalni $0 ime skripte
$# broj pozicionih parametara
$@, $* nadovezane vrednosti svih parametara
Shell skripte
Parametri
17
-
Shell skripte
2. Zadatak
18
#zad_2.sh
echo Pozvan sam sa $# parametara
echo Moje ime je $0
echo Moj prvi parametar je $1
echo Moj drugi parametar je $2
echo Vrednost svih parametara je $@
sh zad_2.sh
sh zad_2.sh hello world earth
-
Uvod
Kreiranje shell skripte
Sistemske promenljive
Korisnike promenljive
Parametri
Komande
Programske strukture
Shell skripte
19
-
echo
za tampanje teksta na ekranu
read
za uitavanje sa standardnog ulaza
shift
pomera vrednost pozicionih parametara za n
Shell skripte
Komande
20
echo What is your name?read my_nameecho Hello $my_name
-
Uvod
Kreiranje shell skripte
Sistemske promenljive
Korisnike promenljive
Parametri
Komande
Programske strukture
Shell skripte
21
-
if...then...else...fi
case...in..esac
for...in...do...done
while...do...done
until...do...done
Shell skripte
Programske strukture
22
-
tests lista komandi ija se vrednost ispituje
uslov je ispunjen ako je vrednost razliita od nule
if i then u razliitim linijama, inae ; izmeu
[] - test
Shell skripte
if...then...else...fi
23
-
Operatori testiranja
o !expr
o expr1 a expr2
o expr1 o expr2
o -z str; -n str
o s1=s2
o s1!=s2
Shell skripte
if...then...else...fi
24
-
Operatori testiranja
o -d adr
o -f file
o -r file
o -x file
o -w file
o -s file
o expr1 eq|-ne|-lt|-le|-gt|-ge expr2
Shell skripte
if...then...else...fi
25
-
Kreirati shell script datoteku zad_3.sh koja ima jedanulazni argument.
U sluaju da ulazni argument predstavlja datoteku,skripta prikazuje na ekranu njen sadraj. (naredba cat)
U sluaju da je direktorijum, prelazi na njega i listanjegov sadraj.
Za sluaj da ime nije ni datoteka ni direktorijum,prikazuje se odgovarajuda poruka.
Shell skripte
3. Zadatak
26
-
Shell skripte
Reenje
27
-
word vrednost koja se poredi sa nizom elemenata
patern element sa kojim se poredi
commands komande koje se izvravaju
Shell skripte
case..in...esac
28
-
word vrednost koja se poredi sa nizom elemenata
patern element sa kojim se poredi
commands komande koje se izvravaju
Shell skripte
case..in...esac
29
-
Kreirati shell script datoteku zad_4.sh koja ima jedanulazni argument. Ulazni argument je datoteka kojutreba obraditi.
U sluaju da da se radi o shell skripti, ona se izvrava.
Ukoliko se radi o tekstualnoj datoteci, njen sadraj se prikazuje na ekranu.
U svim ostalim sluajevima datoteka se brie.
Shell skripte
4. Zadatak
30
-
Shell skripte
Reenje
31
-
name broja koji uzima vrednost iz liste
word_list lista vrednosti koje uzima broja (ako nije navedena, pozicioni parametri)
commands komande koje se izvravaju
expr1 izraz koji se proverava pre ulaska u petlju
expr2 petlja se izvrava dok je ovaj izraz razliit od nule
expr3 izraz se proverava kad god je expr2!=0
Shell skripte
for..in...do...done
32
-
Shell skripte
for..in...do...done
33
-
Kreirati shell script datoteku zad_5.sh koja prikazujeimena svih datoteka u sistemu koje u svom imenusadre zadati argument i ija je veliina 0B.
Shell skripte
5. Zadatak
34
-
Shell skripte
Reenje
35
-
test uslov koji se proverava
commands komande koje se izvravaju
Shell skripte
while...do...doneuntil...do...done
36
-
Kreirati shell script datoteku zad_6.sh koja sadrajdatoteka koje korisnik unosi sa tastature spaja u datoteku spoj.dat koja se nalazi u tekudemdirektorijumu. Obrada se prekida kada korisnik sa tastature za datoteku unese 'KRAJ'.
Shell skripte
6. Zadatak
37
-
Shell skripte
Reenje
38
-
Kreirati shell script petlje.sh koji sadri dve petlje kojese izvravaju konkurentno. Prva petlja treba da odstampa na ekranu brojeve od 1 do 10, a druga brojeve od 11 do 20.
Startovati shell script vise puta uzastopno i uocitiredosled stampanja brojeva.
Domadi poslati u telu poruke, ne kao atachment.
Shell skripte
Domai zadatak
39
-
Pitanja?
Operativni sistemi