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

11. Shell Skripte

Nov 24, 2015

Download

Documents

Joseph Mitchell

Java shell basic serbian srpski
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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