Linux Professional Institute Learning Logo.
Preskoči na glavni sadržaj
  • Home
    • Svi resursi
    • LPI materijali za učenje
    • Postanite saradnik
    • Izdavači partneri
    • Postanite izdavački partner
    • O nama
    • FAQ
    • Saradnici
    • Roadmap
    • Kontaktiraj nas
  • LPI.org
3.3 Lekcija 1
Tema 1: Linux zajednica i open sors karijera
1.1 Evolucija Linux-a i popularni operativni sistemi
  • 1.1 Lekcija 1
1.2 Glavne open sors aplikacije
  • 1.2 Lekcija 1
1.3 Softver otvorenog koda i licenciranje
  • 1.3 Lekcija 1
1.4 ICT vještine i rad sa Linux-om
  • 1.4 Lekcija 1
Tema 2: Kretanje kroz Linux sistem
2.1 Osnove komande linije
  • 2.1 Lekcija 1
  • 2.1 Lekcija 2
2.2 Upotreba komande linije u traženju pomoći
  • 2.2 Lekcija 1
2.3 Korištenje direktorija i izlistavanje podataka
  • 2.3 Lekcija 1
  • 2.3 Lekcija 2
2.4 Kreiranje, premještanje i brisanje podataka
  • 2.4 Lekcija 1
Tema 3: Moć komandne linije
3.1 Arhiviranje podataka uz pomoć komande linije
  • 3.1 Lekcija 1
3.2 Pretraživanje i ekstrakcija informacija iz podataka
  • 3.2 Lekcija 1
  • 3.2 Lekcija 2
3.3 Pretvaranje komandi u skriptu
  • 3.3 Lekcija 1
  • 3.3 Lekcija 2
Tema 4: Linux operativni sistem
4.1 Odabir operativnog sistema
  • 4.1 Lekcija 1
4.2 Razumijevanje računalnog hardvera
  • 4.2 Lekcija 1
4.3 Gdje se smještaju podaci
  • 4.3 Lekcija 1
  • 4.3 Lekcija 2
4.4 Računalo na mreži
  • 4.4 Lekcija 1
Tema 5: Sigurnost i prava nad podacima
5.1 Osnovna sigurnost i identifikacija vrste korisnika
  • 5.1 Lekcija 1
5.2 Kreiranje korisnika i grupa
  • 5.2 Lekcija 1
5.3 Upravljanje pravima i ovlastima nad podacima
  • 5.3 Lekcija 1
5.4 Specijalni direktoriji i podaci
  • 5.4 Lekcija 1
How to get certified
  1. Tema 3: Moć komandne linije
  2. 3.3 Pretvaranje komandi u skriptu
  3. 3.3 Lekcija 1

3.3 Lekcija 1

Sertifikat:

Linux Essentials

Verzija:

1.6

Tema:

3 Moć komandne linije

Cilj:

3.3 Pretvaranje komandi u skriptu

Lekcija:

1 od 2

Uvod

Do sada smo učili da izvršavamo komande iz šela, ali takođe možemo unjeti komande u datoteku, a zatim postaviti tu datoteku da bude izvršna. Kada se datoteka izvrši, te komande se pokreću jedna za drugom. Ove izvršne datoteke se zovu skripte (eng.scripts), i one su apsolutno krucijalan alat za svakog administratora Linux sistema. U suštini, Bash možemo smatrati programskim jezikom kao i šelom.

Printanje izlaza

Počnimo s demonstracijom komande koju ste možda vidjeli u prethodnim lekcijama: echo će ispisati argument na standardni izlaz.

$ echo "Hello World!"
Hello World!

Sada ćemo koristiti preusmjeravanje datoteke da pošaljemo ovu komandu u novu datoteku pod nazivom new_script.

$ echo 'echo "Hello World!"' > new_script
$ cat new_script
echo "Hello World!"

Datoteka new_script sada sadrži istu komandu kao i prije.

Kreiranje izvršne skripte

Hajde da demonstriramo neke od koraka potrebnih da bi se ova datoteka izvršila na način na koji očekujemo. Prva pomisao korisnika bi mogla biti da jednostavno upiše ime skripte, na način na koji bi mogli upisati ime bilo koje druge komande:

$ new_script
/bin/bash: new_script: command not found

Možemo sa sigurnošću pretpostaviti da new_script postoji na našoj trenutnoj lokaciji, ali primijetite da nam poruka o grešci ne govori da file ne postoji, već nam govori kako komanda ne postoji. Bilo bi korisno razgovarati o tome kako Linux upravlja komandama i izvršnim datotekama.

Komande i PATH

Kada upišemo komandu ls u šel, na primjer, mi izvršavamo datoteku pod nazivom ls koja postoji u našem sistemu datoteka. To možete dokazati korištenjem komande which:

$ which ls
/bin/ls

Brzo bi postalo zamorno upisivati ​​apsolutnu putanju ls svaki put kada želimo da pogledamo sadržaj direktorija, tako da Bash ima varijablu okruženja koja sadrži sve direktorije u kojima možemo pronaći komande koje želimo da pokrenemo. Možete vidjeti sadržaj ove varijable koristeći echo.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Svaka od ovih lokacija je mjesto gdje šel očekuje da pronađe komandu, ograničenu dvotačkama (:). Primijetit ćete da je /bin prisutan, ali sigurno je pretpostaviti da naša trenutna lokacija nije. Šel će tražiti new_script u svakom od ovih direktorija, ali ga neće pronaći i stoga će izbaciti grešku koju smo vidjeli gore.

Postoje tri rješenja za ovaj problem: možemo premjestiti new_script u jedan od PATH direktorija, možemo dodati naš trenutni direktorij u PATH, ili možemo promijeniti način na koji pokušavamo pozvati skriptu. Potonje rješenje je najlakše, jednostavno zahtijeva od nas da navedemo trenutnu lokaciju kada pozivamo skriptu pomoću kose crte (./).

$ ./new_script
/bin/bash: ./new_script: Permission denied

Poruka o grešci se promijenila, što ukazuje da smo napravili određeni napredak.

Dozvole izvršavanja

Prva istraga koju korisnik treba da uradi u ovom slučaju je da upotrebi ls -l da pogleda datoteku:

$ ls -l new_script
-rw-rw-r-- 1 user user 20 Apr 30 12:12 new_script

Možemo vidjeti da su dozvole za ovu datoteku podrazumjevano postavljene na 664. Još nismo dodijelili ovoj datoteci dozvolu za izvršavanje.

$ chmod +x new_script
$ ls -l new_script
-rwxrwxr-x 1 user user 20 Apr 30 12:12 new_script

Ova komanda je dala dozvole za izvršavanje svim korisnicima. Imajte na umu da ovo može biti sigurnosni rizik, ali za sada je ovo prihvatljiv nivo dozvole.

$ ./new_script
Hello World!

Sada možemo izvršiti našu skriptu.

Definisanje interpretera

Kao što smo pokazali, mogli smo jednostavno da unesemo tekst u datoteku, postavimo je kao izvršnu i pokrenemo. new_script je funkcionalno još uvijek normalna tekstualna datoteka, ali uspjeli smo da ga interpretira Bash. Ali šta ako je napisano u Perlu ili Pythonu?

Veoma je dobra praksa da u prvom redu skripte navedete tip interpretera koji želimo da koristimo. Ova linija se zove bang line ili češće shebang. To ukazuje sistemu kako želimo da se ova datoteka izvrši. Pošto učimo Bash, koristićemo apsolutnu putanju do našeg izvršnog programa Bash, još jednom koristeći which:

$ which bash
/bin/bash

Naš shebang počinje sa znakom heša i uskličnikom, nakon čega slijedi apsolutna putanja iznad. Otvorimo new_script u tekst editoru i ubacimo shebang. Iskoristimo i priliku da ubacimo komentar u našu skriptu. Prevodilac ignoriše komentare. Napisane su za dobrobit drugih korisnika koji žele razumjeti vašu skriptu.

#!/bin/bash

# Ovo je naš prvi komentar. Dobra je praksa da dokumentujete sve skripte.

echo "Hello World!"

Napravit ćemo i jednu dodatnu promjenu u nazivu datoteke: sačuvat ćemo ovu datoteku kao new_script.sh. Sufiks datoteke ".sh" ni na koji način ne mijenja izvršavanje datoteke. Konvencija je da se bash skripte označavaju sa .sh ili .bash kako bi se lakše identifikovale, na isti način na koji se Python skripte obično identifikuju sa sufiksom .py.

Česti urednici teksta

Korisnici Linuxa često moraju da rade u okruženju gde grafički urednici teksta nisu dostupni. Stoga se preporučuje da se barem malo upoznate sa urednicima tekstualnih datoteka iz komandne linije. Dva najčešća urednika teksta su vi i nano.

vi

vi je vrijedan urednik teksta i instaliran je prema zadanim postavkama na skoro svakom postojećem Linux sistemu. vi je stvorio klon pod nazivom vi IMproved ili vim koji dodaje neke funkcionalnosti, ali održava interfejs vi-a. Iako je rad sa `vi`om zastrašujući za novog korisnika, urednik je popularan i omiljen među korisnicima koji nauče njegove brojne funkcije.

Najvažnija razlika između vi i aplikacija kao što je Notepad je da vi ima tri različita načina rada. Prilikom pokretanja, tasteri H, J, K i L se koriste za navigaciju, a ne za kucanje. U ovom navigacijskom načinu, možete pritisnuti I da uđete u insert mode. U ovom trenutku možete kucati normalno. Da izađete iz insert mode, pritisnite Esc da se vratite u navigation mode. Iz navigacijskog načina, možete pritisnuti : da uđete u komandni način. Iz ovog načina možete sačuvati, izbrisati, izaći ili promijeniti opcije.

Dok vi ima krivulju učenja, različiti modovi mogu vremenom omogućiti pametnom korisniku da postane efikasniji nego kod drugih urednika.

nano

nano je noviji alat, napravljen da bude jednostavan i lakši za korištenje od vi. nano nema različite načine rada. Umjesto toga, korisnik pri pokretanju može početi kucati i koristi Ctrl da pristupi alatima ispisanim na dnu ekrana.

                         [ Welcome to nano.  For basic help, type Ctrl+G. ]
^G Get Help   ^O Write Out  ^W Where Is   ^K Cut Text   ^J Justify    ^C Cur Pos    M-U Undo
^X Exit       ^R Read File  ^\ Replace    ^U Uncut Text ^T To Spell   ^_ Go To Line M-E Redo

Urednici teksta su stvar ličnog odabira, a urednik koji odaberete neće imati uticaja na ovu lekciju. Ali upoznavanje sa jednim ili više urednika teksta isplatit će se u budućnosti.

Varijable

Varijable su važan dio svakog programskog jezika, a Bash se ne razlikuje. Kada pokrenete novu sesiju sa terminala, šel vam već postavlja neke varijable. Varijabla PATH je primjer ovoga. Ove varijable zovemo varijable okruženja, jer one obično definišu karakteristike našeg šel okruženja. Možete mijenjati i dodavati varijable okruženja, ali za sada se fokusirajmo na postavljanje varijabli unutar naše skripte.

Modificirat ćemo našu skriptu tako da izgleda ovako:

#!/bin/bash

# This is our first comment. It is also good practice to comment all scripts.

username=Carol

echo "Hello $username!"

U ovom slučaju, kreirali smo varijablu pod nazivom username i dodijelili smo joj vrijednost Carol. Imajte na umu da nema razmaka između imena varijable, znaka jednakosti ili dodijeljene vrijednosti.

U sljedećem redu koristili smo komandu echo sa varijablom, ali ispred naziva varijable nalazi se znak dolara ($). Ovo je važno, jer ukazuje šelu da želimo da tretiramo korisničko ime kao varijablu, a ne kao normalnu riječ. Unošenjem $username u našu komandu označavamo da želimo izvršiti zamjenu, zamjenjujući naziv varijable s vrijednošću dodijeljenom toj varijabli.

Izvršavanjem skripte, dobit ćemo sljedeći izlaz:

$ ./new_script.sh
Hello Carol!
  • Imena varijabli moraju sadržavati samo alfanumeričke znakove ili donje crte i razlikuju velika i mala slova. Username i username će se tretirati kao zasebne varijable.

  • Zamjena varijable također može imati format ${username}, sa dodatkom { }. Ovo je također prihvatljivo.

  • Varijable u Bashu imaju implicitni tip i smatraju se nizovima. To znači da je izvođenje matematičkih funkcija u Bashu kompliciranije nego što bi bilo u drugim programskim jezicima kao što je C/C++:

#!/bin/bash

# This is our first comment. It is also good practice to comment all scripts.

username=Carol
x=2
y=4
z=$x+$y
echo "Hello $username!"
echo "$x + $y"
echo "$z"
$ ./new_script.sh
Hello Carol!
2 + 4
2+4

Korištenje navodnika sa varijablama

Napravimo sljedeću promjenu u vrijednosti naše varijable username:

#!/bin/bash

# This is our first comment. It is also good practice to comment all scripts.

username=Carol Smith

echo "Hello $username!"

Izvršavanjem skripte dobit ćemo grešku:

$ ./new_script.sh
./new_script.sh: line 5: Smith: command not found
Hello !

Imajte na umu da je Bash interpreter, i kao takav on interpretira naš skriptu red po red. U ovom slučaju, ispravno interpretira username=Carol kao postavljanje varijable username sa vrijednošću Carol. Ali onda razmak tumači kao označavanje kraja tog dodjeljivanja, a Smith kao ime komande. Da bi razmak i ime Smith bili uključeni kao nova vrijednost naše varijable, stavićemo dvostruke navodnike (") oko imena.

#!/bin/bash

# This is our first comment. It is also good practice to comment all scripts.

username="Carol Smith"

echo "Hello $username!"
$ ./new_script.sh
Hello Carol Smith!

Jedna važna stvar koju treba napomenuti u Bashu je da se dvostruki i jednostruki navodnici ('') ponašaju vrlo različito. Dvostruki navodnici se smatraju “slabim”, jer dozvoljavaju interpreteru da izvrši zamjenu unutar navodnika. Jednostruki navodnici se smatraju “jakim” jer sprečavaju da dođe do bilo kakve zamjene. Razmotrite sljedeći primjer:

#!/bin/bash

# This is our first comment. It is also good practice to comment all scripts.

username="Carol Smith"

echo "Hello $username!"
echo 'Hello $username!'
$ ./new_script.sh
Hello Carol Smith!
Hello $username!

U drugoj komandi echo, interpreteru je spriječeno da zamijeni $username sa Carol Smith, tako da je izlaz shvaćen doslovno.

Argumenti

Već ste upoznati sa upotrebom argumenata u šelu Linux uslužnih programa. Na primjer, rm testfile sadrži i izvršni rm i jedan argument testfile. Argumenti se mogu proslijediti skripti nakon izvršenja i modificirat će kako se skripta ponaša. Lako se implementiraju.

#!/bin/bash

# This is our first comment. It is also good practice to comment all scripts.

username=$1

echo "Hello $username!"

Umjesto dodjeljivanja vrijednosti korisničkom imenu direktno unutar skripte, mi mu dodjeljujemo vrijednost nove varijable $1. Ovo se odnosi na vrijednost prvog argumenta.

$ ./new_script.sh Carol
Hello Carol!

Prvih devet argumenata se obrađuje na ovaj način. Postoje načini za rješavanje više od devet argumenata, ali to je izvan okvira ove lekcije. Pokazat ćemo primjer koristeći samo dva argumenta:

#!/bin/bash

# This is our first comment. It is also good practice to comment all scripts.

username1=$1
username2=$2
echo "Hello $username1 and $username2!"
$ ./new_script.sh Carol Dave
Hello Carol and Dave!

Postoji važno razmatranje kada se koriste argumenti: U gornjem primjeru postoje dva argumenta Carol i Dave, dodijeljena $1 i $2 respektivno. Ako, na primjer, nedostaje drugi argument, šel neće prikazati grešku. Vrijednost $2 jednostavno će biti null, ili ništa.

$ ./new_script.sh Carol
Hello Carol and !

U našem slučaju, bilo bi dobro da uvedemo malo logike u našu skriptu tako da će različiti uslovi utjecati na izlaz koji želimo ispisati. Počećemo uvođenjem još jedne korisne varijable, a zatim preći na kreiranje if izraza.

Vraćanje broja argumenata

Dok varijable kao što su $1 i $2 sadrže vrijednost pozicionih argumenata, druga varijabla $# sadrži broj argumenata.

#!/bin/bash

# This is our first comment. It is also good practice to comment all scripts.

username=$1

echo "Hello $username!"
echo "Number of arguments: $#."
$ ./new_script.sh Carol Dave
Hello Carol!
Number of arguments: 2.

Uslovna logika

Upotreba uslovne logike u programiranju je ogromna tema i neće biti detaljno obrađena u ovoj lekciji. Fokusiraćemo se na sintaksu kondicionala u Bashu, koja se razlikuje od većine drugih programskih jezika.

Počnimo sa pregledom onoga što se nadamo da ćemo postići. Imamo jednostavnu skriptu koja bi trebala biti u mogućnosti ispisati pozdrav za jednog korisnika. Ako postoji još nešto osim jednog korisnika, trebali bismo ispisati poruku o grešci.

  • uslov koji testiramo je broj korisnika koji je sadržan u varijabli $#. Željeli bismo znati da li je vrijednost $# 1.

  • Iako je uslov true, akcija koju ćemo preduzeti je da pozdravimo korisnika.

  • Ako je uslov false, printat ćemo poruku o grešci. Sada kada je logika jasna, fokusiraćemo se na sintaksu potrebnu za implementaciju ove logike.

#!/bin/bash

# A simple script to greet a single user.

if [ $# -eq 1 ]
then
  username=$1

  echo "Hello $username!"
else
  echo "Please enter only one argument."
fi
echo "Number of arguments: $#."

Uslovna logika se nalazi između if i fi. Uslov za testiranje nalazi se između uglastih zagrada [ ], a radnja koju treba poduzeti ako je uslov istinit je naznačena nakon then. Obratite pažnju na razmake između uglastih zagrada i sadržanu logiku. Izostavljanje ovog prostora će uzrokovati greške.

Ova skripta će ispisati ili naš pozdrav, ili poruku o grešci. Ali uvijek će ispisati red broja argumenata.

$ ./new_script.sh
Please enter only one argument.
Number of arguments: 0.
$ ./new_script.sh Carol
Hello Carol!
Number of arguments: 1.

Obratite pažnju na komandu if. Koristili smo -eq za numeričko poređenje. U ovom slučaju, testiramo da je vrijednost $# jednaka jedinici. Ostala poređenja koja možemo izvesti su:

-ne

Nije jednako

-gt

Veci nego

-ge

Veće ili jednako

-lt

Manje od

-le

Manje ili jednako

Vođene vježbe

  1. Korisnik u svoj šel upisuje sljedeće:

    $ PATH=~/scripts
    $ ls
    Command 'ls' is available in '/bin/ls'
    The command could not be located because '/bin' is not included in the PATH environment variable.
    ls: command not found
    • Šta je učinio korisnik?

    • Koja komanda će kombinirati trenutnu vrijednost PATH sa novim direktorijem ~/scripts?

  2. Razmotrite sljedeću skriptu. Primijetite da koristi elif za provjeru drugog uslova:

    >  /!bin/bash
    
    > fruit1 = Apples
    > fruit2 = Oranges
    
      if [ $1 -lt $# ]
      then
        echo "This is like comparing $fruit1 and $fruit2!"
    > elif [$1 -gt $2 ]
      then
    >   echo '$fruit1 win!'
      else
    >   echo "Fruit2 win!"
    > done
    • Linije označene sa > sadrže greške. Popravite ih.

  3. Kakav će biti rezultat u sljedećim situacijama?

    $ ./guided1.sh 3 0
    $ ./guided1.sh 2 4
    $ ./guided1.sh 0 1

Istraživačke vježbe

  1. Napišite jednostavnu skriptu koja će provjeriti da li su proslijeđena tačno dva argumenta. Ako je tako, ispišite argumente obrnutim redoslijedom. Razmotrite ovaj primjer (napomena: vaš kod može izgledati drugačije od ovog, ali bi trebao dovesti do istog izlaza):

    if [ $1 == $number ]
    then
      echo "True!"
    fi
  2. Ovaj kod je ispravan, ali nije poređenje brojeva. Koristite internet pretragu da otkrijete kako se ovaj kod razlikuje od upotrebe -eq.

  3. Postoji varijabla okruženja koja će ispisati trenutni direktorij. Koristite env da otkrijete ime ove varijable.

  4. Koristeći ono što ste naučili u pitanjima 2 i 3, napišite kratku skriptu koja prihvaća argument. Ako je argument proslijeđen, provjerite da li se taj argument podudara s imenom trenutnog direktorija. Ako je tako, prikaži da. U suprotnom, prikaži ne.

Sažetak

U ovom dijelu ste naučili:

  • Kako kreirati i izvršiti jednostavne skripte

  • Kako koristiti shebang za navođenje interpretera

  • Kako postaviti i koristiti varijable unutar skripti

  • Kako rukovati argumentima u skriptama

  • Kako konstruisati if izraze

  • Kako upoređivati ​​brojeve pomoću numeričkih operatora

Komande korištene u ovoj vježbi:

echo

Prikaži string na standardni izlaz.

env

Prikaži sve varijable okruženja na standardni izlaz.

which

Prikaži apsolutnu putanju komande.

chmod

Promijeni dozvole datoteke.

Specijalne varijable korištene u ovoj vježbi:

$1, $2, …​ $9

Sadrži pozicione argumente proslijeđene skripti.

$#

Sadrži broj argumenata proslijeđenih skripti.

$PATH

Sadrži direktorije koji imaju izvršne datoteke koje koristi sistem.

Operatori korišteni u ovoj vježbi:

-ne

Nije jednako

-gt

Veci nego

-ge

Veće ili jednako

-lt

Manje od

-le

Manje ili jednako

Odgovor na istraživačke vježbe

  1. Korisnik u svoj šel upisuje sljedeće:

    $ PATH=~/scripts
    $ ls
    Command 'ls' is available in '/bin/ls'
    The command could not be located because '/bin' is not included in the PATH environment variable.
    ls: command not found
    • Šta je učinio korisnik?

      Korisnik je zamijenio sadržaj PATH sa direktorijem ~/scripts. Komanda ls se više ne može pronaći, jer nije sadržana u varijabli PATH. Imajte na umu da ova promjena utječe samo na trenutnu sesiju, odjavljivanje i ponovno prijavljivanje će poništiti promjene.

    • Koja komanda će kombinirati trenutnu vrijednost PATH sa novim direktorijem ~/scripts?

      PATH=$PATH:~/scripts

  2. Razmotrite sljedeću skriptu. Primijetite da koristi elif za provjeru drugog uslova:

    >  /!bin/bash
    
    > fruit1 = Apples
    > fruit2 = Oranges
    
      if [ $1 -lt $# ]
      then
        echo "This is like comparing $fruit1 and $fruit2!"
    > elif [$1 -gt $2 ]
      then
    >   echo '$fruit1 win!'
      else
    >   echo "Fruit2 win!"
    > done
    • Linije označene sa karakterom > sadrže greške. Popravite ih.

      #!/bin/bash
      
      fruit1=Apples
      fruit2=Oranges
      
      if [ $1 -lt $# ]
      then
        echo "This is like comparing $fruit1 and $fruit2!"
      elif [ $1 -gt $2 ]
      then
        echo "$fruit1 win!"
      else
        echo "$fruit2 win!"
      fi
  3. Kakav će biti rezultat u sljedećim situacijama?

    $ ./guided1.sh 3 0

    Apples win!

    $ ./guided1.sh 2 4

    Oranges win!

    $ ./guided1.sh 0 1

    Ovo je kao da poredite jabuke i narandže!

Odgovor na istraživačke vježbe

  1. Napišite jednostavnu skriptu koja će provjeriti da li su proslijeđena tačno dva argumenta. Ako je tako, ispišite argumente obrnutim redoslijedom. Razmotrite ovaj primjer (napomena: vaš kod može izgledati drugačije od ovog, ali bi trebao dovesti do istog izlaza):

    if [ $1 == $number ]
    then
      echo "True!"
    fi
    #!/bin/bash
    
    if [ $# -ne 2 ]
    then
      echo "Error"
    else
      echo "$2 $1"
    fi
  2. Ovaj kod je ispravan, ali nije poređenje brojeva. Koristite internet pretragu da otkrijete kako se ovaj kod razlikuje od upotrebe -eq.

    Korištenje == će uporediti nizove (eng.strings). To jest, ako se karakteri obje varijable tačno poklapaju, onda je uslov tačan.

    abc == abc

    true

    abc == ABC

    false

    1 == 1

    true

    1+1 == 2

    false

    Poređenja nizova dovodi do neočekivanog ponašanja ako testirate brojeve.

  3. Postoji varijabla okruženja koja će ispisati trenutni direktorij. Koristite env da otkrijete ime ove varijable..

    PWD

  4. Koristeći ono što ste naučili u pitanjima 2 i 3, napišite kratku skriptu koja prihvaća argument. Ako je argument proslijeđen, provjerite da li se taj argument podudara s imenom trenutnog direktorija. Ako je tako, prikaži da. U suprotnom, prikaži ne.

    #!/bin/bash
    
    if [ "$1" == "$PWD" ]
    then
      echo "yes"
    else
      echo "no"
    fi

Linux Professional Insitute Inc. Sva prava zadržana. Posjeti web stranicu materijala za učenje: https://learning.lpi.org
Ovaj rad je licenciran pod Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

Sljedeća lekcija

3.3 Pretvaranje komandi u skriptu (3.3 Lekcija 2)

Pročitaj narednu lekciju

Linux Professional Insitute Inc. Sva prava zadržana. Posjeti web stranicu materijala za učenje: https://learning.lpi.org
Ovaj rad je licenciran pod Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

LPI je neprofitna organizacija.

© 2023 Linux Profesional Institut (LPI) je globalni certifikacijski standard, podrške za karijeru, te vodeća organizacija za open sors profesionalce. Sa više od 200.000 certificiranih ljudi, prvi je najveći, svjetski vendor za Linux i open sors certifikaciju. LPI trenutno ima certificirane profesionalce u 180 zemalja širom svijeta, dostavlja testove na više jezika, te ima oko stotine trening partnera.

Naša svrha je omogućiti ekonomske i kreativne prilike za svakog, čineći dostupnim certifikaciju u open sors znanju i vještinama svima.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Kontaktirajte nas
  • Privatnost i politika kolačića

Primijetili ste grešku ili želite pomoći poboljšati ovu stranicu? Molimo prijavite nam!.

© 1999–2023 The Linux Professional Institute Inc. Sva prava zadržana.