40
Shell skripte Operativni sistemi – računske vežbe – Termin 11 Doc. Dr Veljko Stanković Aldina Pljasković, dipl. inž.

11. Shell Skripte

Embed Size (px)

DESCRIPTION

Java shell basic serbian srpski

Citation preview

  • 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