Shell je vmesnik operacijskega sistema. Sprejema ukaze uporabnikov in jih interpretira operacijskemu sistemu. Če želite zagnati več ukazov skupaj, lahko to storite tako, da ustvarite lupinski skript. Lupinski skripti so zelo uporabni, če morate rutinsko opravljati nalogo, na primer ustvarjanje varnostne kopije. Te ukaze lahko naštejete in jih vse izvedete z enim samim skriptom. Poglejmo, kako lahko ustvarite lupinski skript in ga zaženete v sistemu Linux.
Ustvarjanje lupinskega skripta
Prijavite se v svoj stroj Linux in odprite terminal, pomaknite se do mape, v katero želite shraniti lupinski skript. Lupinski skripti se končajo s pripono .sh. Ustvarimo svoj prvi lupinski skript. Vtipkaj
touch script.sh>
Ta skriptna datoteka privzeto ni izvršljiva, tej datoteki moramo dati izvršljivo dovoljenje. Vtipkaj
chmod +x script.sh>
Zdaj bomo temu skriptu lupine dodali nekaj ukazov. Odprite ta lupinski skript s katerim koli urejevalnikom besedil po vaši izbiri (na osnovi ukazne vrstice ali GUI) in dodajte nekaj ukazov. Uporabili bomo nano. Vtipkaj
nano script.sh>
Dodajte naslednje ukaze, da preizkusite ta lupinski skript
echo This is my first shell script touch testfile ls echo End of my shell script>
Shranite spremembe in zaženite lupinski skript tako, da vnesete
./script.sh>

Posnetek zaslona zgornjih korakov
Vidite lahko, da je izvršil vse podane ukaze.
Komentarji v lupinskem skriptu
Vsaka vrstica, ki se v skriptu lupine začne z #, se obravnava kot komentar in jo lupina med izvajanjem prezre, razen vrstice shebang, ki jo bomo videli kasneje v tem članku. Poglejmo primer. Ustvari se lupinski skript z naslednjo vsebino.
# This is a comment echo Testing comments in shell script>

Komentarji v skriptu Shell
python sort tuple
Vidite lahko, da je komentar prezrt.
Spremenljivke v lupinskem skriptu
Da, skripti lupine podpirajo uporabo spremenljivk in ni nam treba definirati vrste spremenljivke med njeno deklaracijo. Obstajata dve vrsti spremenljivk:
- Sistemsko definirane spremenljivke
- Uporabniško definirane spremenljivke.
Sistemsko definirane spremenljivke, imenovane tudi spremenljivke okolja, so na splošno napisane z veliko začetnico. Z ukazom printenv si lahko ogledate vse trenutne spremenljivke okolja. Uporabniško definirane spremenljivke nastavi uporabnik in obstajajo le med izvajanjem skripta. Spremenljivko lahko definirate tako, da preprosto vnesete njeno ime in dodelite vrednost z znakom = ter dostopate do spremenljivke tako, da dodate $ pred ime spremenljivke. Spremenljivke so prikazane v naslednjem primeru skripta.
pisava gimp
# Accessing an Environment Variable echo $USER # Creating and accessing User defined Variable variable_name='Geeksforgeeks' echo $variable_name>

Spremenljivke v lupinskem skriptu
Definiranje tolmača Shell Script
V Linuxu je na voljo veliko lupin, kot so The bourne shell(sh), The Korn Shell(ksh) in GNU Bourne-Again Shell(bash). Skripti, napisani za lupino sh, se imenujejo skripti lupine in jih lahko razlagata obe lupini, ksh in bash. ksh in Bash sta izboljšani različici originalne lupine sh in imata več funkcij kot sh. Bash je na splošno privzeta lupina v večini distribucij Linuxa in skripti, napisani posebej za lupino bash, se imenujejo skripti bash.
Določite lahko, katero lupino bo uporabil skript, tudi če se skript izvaja iz drugega terminala lupine. Če želite to narediti, dodajte #! na vrhu skriptne datoteke, ki ji sledi absolutna pot izbrane lupine. Če želite določiti bash kot tolmača, dodajte naslednjo vrstico na vrh lupinskega skripta.
#!/bin/bash>
Ta linija se imenuje shebang linija.
Opomba: To bo delovalo samo, če je v vašem sistemu nameščen bash.
Operatorji primerjave
V skriptni lupini lahko primerjate dve spremenljivki. Te primerjave delamo, da sprejemamo odločitve, kasneje v tem članku bomo videli, kako to storiti, pred tem pa je tukaj seznam nekaterih primerjalnih operaterjev.
Celoštevilska primerjava
| Operater | Opis |
| -ekv | je enako |
| - je | ni enako |
| -gt | je večji od |
| -ge | je večje ali enako |
| -Lt | je manj kot |
| - | je manjše ali enako |
Primerjava nizov
| Operater | Opis |
| == | je enako |
| != | ni enako |
| < | je manj kot v abecednem vrstnem redu ASCII |
| > | je večje od v abecednem vrstnem redu ASCII |
Pred tem dodamo , ker jih je treba ubežati, ko jih vnesemo v konstrukt [ ]. Zdaj pa poglejmo, kje se uporabljajo.
Pogojni stavki
Pogojni stavki se uporabljajo za izvajanje bloka kode le, ko so izpolnjeni določeni pogoji. Lupinski skripti podpirajo uporabo pogojnih stavkov. Za preverjanje pogojev uporabljamo primerjalne operatorje. Poglejmo nekaj pogojnih izjav.
drugače java
Če izjava
Preveri pogoj in če je pogoj resničen, izvede ukaze.
Sintaksa
if [ condition ] then #statements fi>
Poglejmo primer.
#!/bin/sh x=10 y=11 if [ $x -ne $y ] then echo 'Not equal' fi>

.if izjava
Izjava if-else
V stavku if-else lahko podate niz ukazov, ki naj se zaženejo, če pogoj ni izpolnjen.
Sintaksa
if [ condition ] then #set of statements if the condition is true else #set of statements if the condition is false fi>
Poglejmo primer
#!/Syntaxbin/sh x=10 y=10 if [ $x -ne $y ] then echo 'Not equal' else echo 'They are equal' fi>

.if-else izjava
Obstajajo še drugi pogojni stavki, o njih lahko preberete tukaj .
Opomba: Vnesite presledek za [ in pred ], medtem ko navajate pogoj, ki ga želite preveriti, sicer se prikaže napaka.
Zanke
Z uporabo zank lahko niz ukazov izvajate znova in znova, dokler ni izpolnjen določen pogoj. Oglejmo si nekaj zank.
Medtem ko zanka
Če je pogoj resničen, začne izvajati navedene ukaze in jih ponavlja, dokler pogoj ni false.
Sintaksa
while [ condition ] do #set of statements done>
Poglejmo primer.
#!/bin/sh x=2 while [ $x -lt 6 ] do echo $x x=`expr $x + 1` done>

Medtem ko zanka
Stavek expr priložimo znotraj ``, ko ga dodeljujemo spremenljivki. O ukazu expr si lahko preberete tukaj.
Za zanko
V zanki for spremenljivka ponovi seznam vrednosti in se konča, ko ni več vrednosti za ponovitev.
parameter v lupinskem skriptu
Sintaksa
for var in val1 val2 val3 do #statements done>
Poglejmo primer.
#!/bin/sh for var in 2 4 5 8 do echo $var done>

za zanko
O zankah lahko preberete podrobno tukaj .
Pozicijski argumenti
Pozicijski argumenti so argumenti ali vrednosti, ki jih posredujemo lupinskemu skriptu med izvajanjem skripta. Do njih lahko dostopate s spremenljivkami Shell je vmesnik operacijskega sistema. Sprejema ukaze uporabnikov in jih interpretira operacijskemu sistemu. Če želite zagnati več ukazov skupaj, lahko to storite tako, da ustvarite lupinski skript. Lupinski skripti so zelo uporabni, če morate rutinsko opravljati nalogo, na primer ustvarjanje varnostne kopije. Te ukaze lahko naštejete in jih vse izvedete z enim samim skriptom. Poglejmo, kako lahko ustvarite lupinski skript in ga zaženete v sistemu Linux.
Ustvarjanje lupinskega skripta
Prijavite se v svoj stroj Linux in odprite terminal, pomaknite se do mape, v katero želite shraniti lupinski skript. Lupinski skripti se končajo s pripono .sh. Ustvarimo svoj prvi lupinski skript. Vtipkaj
touch script.sh>
Ta skriptna datoteka privzeto ni izvršljiva, tej datoteki moramo dati izvršljivo dovoljenje. Vtipkaj
chmod +x script.sh>
Zdaj bomo temu skriptu lupine dodali nekaj ukazov. Odprite ta lupinski skript s katerim koli urejevalnikom besedil po vaši izbiri (na osnovi ukazne vrstice ali GUI) in dodajte nekaj ukazov. Uporabili bomo nano. Vtipkaj
nano script.sh>
Dodajte naslednje ukaze, da preizkusite ta lupinski skript
echo This is my first shell script touch testfile ls echo End of my shell script>
Shranite spremembe in zaženite lupinski skript tako, da vnesete
./script.sh>

Posnetek zaslona zgornjih korakov
Vidite lahko, da je izvršil vse podane ukaze.
Komentarji v lupinskem skriptu
Vsaka vrstica, ki se v skriptu lupine začne z #, se obravnava kot komentar in jo lupina med izvajanjem prezre, razen vrstice shebang, ki jo bomo videli kasneje v tem članku. Poglejmo primer. Ustvari se lupinski skript z naslednjo vsebino.
# This is a comment echo Testing comments in shell script>

Komentarji v skriptu Shell
Vidite lahko, da je komentar prezrt.
Spremenljivke v lupinskem skriptu
Da, skripti lupine podpirajo uporabo spremenljivk in ni nam treba definirati vrste spremenljivke med njeno deklaracijo. Obstajata dve vrsti spremenljivk:
- Sistemsko definirane spremenljivke
- Uporabniško definirane spremenljivke.
Sistemsko definirane spremenljivke, imenovane tudi spremenljivke okolja, so na splošno napisane z veliko začetnico. Z ukazom printenv si lahko ogledate vse trenutne spremenljivke okolja. Uporabniško definirane spremenljivke nastavi uporabnik in obstajajo le med izvajanjem skripta. Spremenljivko lahko definirate tako, da preprosto vnesete njeno ime in dodelite vrednost z znakom = ter dostopate do spremenljivke tako, da dodate $ pred ime spremenljivke. Spremenljivke so prikazane v naslednjem primeru skripta.
# Accessing an Environment Variable echo $USER # Creating and accessing User defined Variable variable_name='Geeksforgeeks' echo $variable_name>

Spremenljivke v lupinskem skriptu
Definiranje tolmača Shell Script
V Linuxu je na voljo veliko lupin, kot so The bourne shell(sh), The Korn Shell(ksh) in GNU Bourne-Again Shell(bash). Skripti, napisani za lupino sh, se imenujejo skripti lupine in jih lahko razlagata obe lupini, ksh in bash. ksh in Bash sta izboljšani različici originalne lupine sh in imata več funkcij kot sh. Bash je na splošno privzeta lupina v večini distribucij Linuxa in skripti, napisani posebej za lupino bash, se imenujejo skripti bash.
Določite lahko, katero lupino bo uporabil skript, tudi če se skript izvaja iz drugega terminala lupine. Če želite to narediti, dodajte #! na vrhu skriptne datoteke, ki ji sledi absolutna pot izbrane lupine. Če želite določiti bash kot tolmača, dodajte naslednjo vrstico na vrh lupinskega skripta.
#!/bin/bash>
Ta linija se imenuje shebang linija.
Opomba: To bo delovalo samo, če je v vašem sistemu nameščen bash.
Operatorji primerjave
V skriptni lupini lahko primerjate dve spremenljivki. Te primerjave delamo, da sprejemamo odločitve, kasneje v tem članku bomo videli, kako to storiti, pred tem pa je tukaj seznam nekaterih primerjalnih operaterjev.
Celoštevilska primerjava
| Operater | Opis |
| -ekv | je enako |
| - je | ni enako |
| -gt | je večji od |
| -ge | je večje ali enako |
| -Lt | je manj kot |
| - | je manjše ali enako |
Primerjava nizov
| Operater | Opis |
| == | je enako |
| != | ni enako |
| < | je manj kot v abecednem vrstnem redu ASCII |
| > | je večje od v abecednem vrstnem redu ASCII |
Pred tem dodamo , ker jih je treba ubežati, ko jih vnesemo v konstrukt [ ]. Zdaj pa poglejmo, kje se uporabljajo.
Pogojni stavki
Pogojni stavki se uporabljajo za izvajanje bloka kode le, ko so izpolnjeni določeni pogoji. Lupinski skripti podpirajo uporabo pogojnih stavkov. Za preverjanje pogojev uporabljamo primerjalne operatorje. Poglejmo nekaj pogojnih izjav.
Če izjava
Preveri pogoj in če je pogoj resničen, izvede ukaze.
Sintaksa
if [ condition ] then #statements fi>
Poglejmo primer.
#!/bin/sh x=10 y=11 if [ $x -ne $y ] then echo 'Not equal' fi>

.if izjava
Izjava if-else
V stavku if-else lahko podate niz ukazov, ki naj se zaženejo, če pogoj ni izpolnjen.
Sintaksa
if [ condition ] then #set of statements if the condition is true else #set of statements if the condition is false fi>
Poglejmo primer
#!/Syntaxbin/sh x=10 y=10 if [ $x -ne $y ] then echo 'Not equal' else echo 'They are equal' fi>

.if-else izjava
Obstajajo še drugi pogojni stavki, o njih lahko preberete tukaj .
Opomba: Vnesite presledek za [ in pred ], medtem ko navajate pogoj, ki ga želite preveriti, sicer se prikaže napaka.
Zanke
Z uporabo zank lahko niz ukazov izvajate znova in znova, dokler ni izpolnjen določen pogoj. Oglejmo si nekaj zank.
Medtem ko zanka
Če je pogoj resničen, začne izvajati navedene ukaze in jih ponavlja, dokler pogoj ni false.
Sintaksa
while [ condition ] do #set of statements done>
Poglejmo primer.
#!/bin/sh x=2 while [ $x -lt 6 ] do echo $x x=`expr $x + 1` done>

Medtem ko zanka
Stavek expr priložimo znotraj ``, ko ga dodeljujemo spremenljivki. O ukazu expr si lahko preberete tukaj.
Za zanko
V zanki for spremenljivka ponovi seznam vrednosti in se konča, ko ni več vrednosti za ponovitev.
Sintaksa
for var in val1 val2 val3 do #statements done>
Poglejmo primer.
#!/bin/sh for var in 2 4 5 8 do echo $var done>

za zanko
O zankah lahko preberete podrobno tukaj .
Pozicijski argumenti
Pozicijski argumenti so argumenti ali vrednosti, ki jih posredujemo lupinskemu skriptu med izvajanjem skripta. Do njih lahko dostopate s spremenljivkami $0, $1, $2 … $9. Poleg tega se nanje sklicujejo ${10}, ${11} in tako naprej. $# shrani št. posredovanih argumentov in $0 shrani ime skripta. Oglejmo si primer, da bomo vse to razumeli.
#!/bin/sh echo 'No of arguments is $#' echo 'Name of the script is $0' echo 'First argument is $1' echo 'Second argument is $2'>
Če želite posredovati argumente, jih preprosto vnesite v terminal za imenom skripta, kot je prikazano spodaj.

Pozicijski argumenti
Shranjevanje izhoda ukazov
Izhod ukazov lahko shranite znotraj spremenljivke v lupinskem skriptu. To lahko storite na dva načina.
Sintaksa
#Syntax 1 var=$(a valid linux command) #Syntax 2 var2=`a valid linux command`>
Poglejmo primer.
#!/bin/sh b=$(pwd) c=`pwd` echo $b echo $c d=$(ls /bin | grep bash) echo $d>

Shranjevanje izhoda ukazov
Izhodne kode ukazov lupine
Kadarkoli se ukaz konča in vrne nadzor nadrejenemu procesu, vrne izhodne kode med 0 in 255. Izhodna koda 0 pomeni, da je bil ukaz uspešen, katera koli druga izhodna koda pa pomeni, da ukaz ni bil uspešen. Izhodno kodo si lahko ogledate po zagonu katerega koli ukaza z dostopom do $? spremenljivka. Oglejte si spodnji primer.

izhodna koda ukaza lupine
Ročno lahko nastavite izhodno kodo za lupinski skript. To lahko uporabite s pogojnimi stavki, da sporočite, ali je bil namen skripta dosežen ali ne.
Primer
#!/bin/sh read x if [ $x -ne 10 ] then echo failed exit 1 else echo passed exit 0 fi>

izhodna koda ukaza lupine
, , … . Poleg tega se nanje sklicujejo , in tako naprej. $# shrani št. posredovanih argumentov in
Shell je vmesnik operacijskega sistema. Sprejema ukaze uporabnikov in jih interpretira operacijskemu sistemu. Če želite zagnati več ukazov skupaj, lahko to storite tako, da ustvarite lupinski skript. Lupinski skripti so zelo uporabni, če morate rutinsko opravljati nalogo, na primer ustvarjanje varnostne kopije. Te ukaze lahko naštejete in jih vse izvedete z enim samim skriptom. Poglejmo, kako lahko ustvarite lupinski skript in ga zaženete v sistemu Linux.
Ustvarjanje lupinskega skripta
Prijavite se v svoj stroj Linux in odprite terminal, pomaknite se do mape, v katero želite shraniti lupinski skript. Lupinski skripti se končajo s pripono .sh. Ustvarimo svoj prvi lupinski skript. Vtipkaj
touch script.sh>
Ta skriptna datoteka privzeto ni izvršljiva, tej datoteki moramo dati izvršljivo dovoljenje. Vtipkaj
chmod +x script.sh>
Zdaj bomo temu skriptu lupine dodali nekaj ukazov. Odprite ta lupinski skript s katerim koli urejevalnikom besedil po vaši izbiri (na osnovi ukazne vrstice ali GUI) in dodajte nekaj ukazov. Uporabili bomo nano. Vtipkaj
nano script.sh>
Dodajte naslednje ukaze, da preizkusite ta lupinski skript
echo This is my first shell script touch testfile ls echo End of my shell script>
Shranite spremembe in zaženite lupinski skript tako, da vnesete
./script.sh>

Posnetek zaslona zgornjih korakov
Vidite lahko, da je izvršil vse podane ukaze.
Komentarji v lupinskem skriptu
Vsaka vrstica, ki se v skriptu lupine začne z #, se obravnava kot komentar in jo lupina med izvajanjem prezre, razen vrstice shebang, ki jo bomo videli kasneje v tem članku. Poglejmo primer. Ustvari se lupinski skript z naslednjo vsebino.
# This is a comment echo Testing comments in shell script>

Komentarji v skriptu Shell
Vidite lahko, da je komentar prezrt.
Spremenljivke v lupinskem skriptu
Da, skripti lupine podpirajo uporabo spremenljivk in ni nam treba definirati vrste spremenljivke med njeno deklaracijo. Obstajata dve vrsti spremenljivk:
- Sistemsko definirane spremenljivke
- Uporabniško definirane spremenljivke.
Sistemsko definirane spremenljivke, imenovane tudi spremenljivke okolja, so na splošno napisane z veliko začetnico. Z ukazom printenv si lahko ogledate vse trenutne spremenljivke okolja. Uporabniško definirane spremenljivke nastavi uporabnik in obstajajo le med izvajanjem skripta. Spremenljivko lahko definirate tako, da preprosto vnesete njeno ime in dodelite vrednost z znakom = ter dostopate do spremenljivke tako, da dodate $ pred ime spremenljivke. Spremenljivke so prikazane v naslednjem primeru skripta.
# Accessing an Environment Variable echo $USER # Creating and accessing User defined Variable variable_name='Geeksforgeeks' echo $variable_name>

Spremenljivke v lupinskem skriptu
Definiranje tolmača Shell Script
V Linuxu je na voljo veliko lupin, kot so The bourne shell(sh), The Korn Shell(ksh) in GNU Bourne-Again Shell(bash). Skripti, napisani za lupino sh, se imenujejo skripti lupine in jih lahko razlagata obe lupini, ksh in bash. ksh in Bash sta izboljšani različici originalne lupine sh in imata več funkcij kot sh. Bash je na splošno privzeta lupina v večini distribucij Linuxa in skripti, napisani posebej za lupino bash, se imenujejo skripti bash.
Določite lahko, katero lupino bo uporabil skript, tudi če se skript izvaja iz drugega terminala lupine. Če želite to narediti, dodajte #! na vrhu skriptne datoteke, ki ji sledi absolutna pot izbrane lupine. Če želite določiti bash kot tolmača, dodajte naslednjo vrstico na vrh lupinskega skripta.
#!/bin/bash>
Ta linija se imenuje shebang linija.
Opomba: To bo delovalo samo, če je v vašem sistemu nameščen bash.
Operatorji primerjave
V skriptni lupini lahko primerjate dve spremenljivki. Te primerjave delamo, da sprejemamo odločitve, kasneje v tem članku bomo videli, kako to storiti, pred tem pa je tukaj seznam nekaterih primerjalnih operaterjev.
Celoštevilska primerjava
| Operater | Opis |
| -ekv | je enako |
| - je | ni enako |
| -gt | je večji od |
| -ge | je večje ali enako |
| -Lt | je manj kot |
| - | je manjše ali enako |
Primerjava nizov
| Operater | Opis |
| == | je enako |
| != | ni enako |
| < | je manj kot v abecednem vrstnem redu ASCII |
| > | je večje od v abecednem vrstnem redu ASCII |
Pred tem dodamo , ker jih je treba ubežati, ko jih vnesemo v konstrukt [ ]. Zdaj pa poglejmo, kje se uporabljajo.
Pogojni stavki
Pogojni stavki se uporabljajo za izvajanje bloka kode le, ko so izpolnjeni določeni pogoji. Lupinski skripti podpirajo uporabo pogojnih stavkov. Za preverjanje pogojev uporabljamo primerjalne operatorje. Poglejmo nekaj pogojnih izjav.
Če izjava
Preveri pogoj in če je pogoj resničen, izvede ukaze.
Sintaksa
if [ condition ] then #statements fi>
Poglejmo primer.
#!/bin/sh x=10 y=11 if [ $x -ne $y ] then echo 'Not equal' fi>

.if izjava
Izjava if-else
V stavku if-else lahko podate niz ukazov, ki naj se zaženejo, če pogoj ni izpolnjen.
Sintaksa
if [ condition ] then #set of statements if the condition is true else #set of statements if the condition is false fi>
Poglejmo primer
#!/Syntaxbin/sh x=10 y=10 if [ $x -ne $y ] then echo 'Not equal' else echo 'They are equal' fi>

.if-else izjava
Obstajajo še drugi pogojni stavki, o njih lahko preberete tukaj .
Opomba: Vnesite presledek za [ in pred ], medtem ko navajate pogoj, ki ga želite preveriti, sicer se prikaže napaka.
Zanke
Z uporabo zank lahko niz ukazov izvajate znova in znova, dokler ni izpolnjen določen pogoj. Oglejmo si nekaj zank.
Medtem ko zanka
Če je pogoj resničen, začne izvajati navedene ukaze in jih ponavlja, dokler pogoj ni false.
Sintaksa
while [ condition ] do #set of statements done>
Poglejmo primer.
#!/bin/sh x=2 while [ $x -lt 6 ] do echo $x x=`expr $x + 1` done>

Medtem ko zanka
Stavek expr priložimo znotraj ``, ko ga dodeljujemo spremenljivki. O ukazu expr si lahko preberete tukaj.
Za zanko
V zanki for spremenljivka ponovi seznam vrednosti in se konča, ko ni več vrednosti za ponovitev.
Sintaksa
for var in val1 val2 val3 do #statements done>
Poglejmo primer.
#!/bin/sh for var in 2 4 5 8 do echo $var done>

za zanko
O zankah lahko preberete podrobno tukaj .
Pozicijski argumenti
Pozicijski argumenti so argumenti ali vrednosti, ki jih posredujemo lupinskemu skriptu med izvajanjem skripta. Do njih lahko dostopate s spremenljivkami $0, $1, $2 … $9. Poleg tega se nanje sklicujejo ${10}, ${11} in tako naprej. $# shrani št. posredovanih argumentov in $0 shrani ime skripta. Oglejmo si primer, da bomo vse to razumeli.
#!/bin/sh echo 'No of arguments is $#' echo 'Name of the script is $0' echo 'First argument is $1' echo 'Second argument is $2'>
Če želite posredovati argumente, jih preprosto vnesite v terminal za imenom skripta, kot je prikazano spodaj.

Pozicijski argumenti
Shranjevanje izhoda ukazov
Izhod ukazov lahko shranite znotraj spremenljivke v lupinskem skriptu. To lahko storite na dva načina.
Sintaksa
#Syntax 1 var=$(a valid linux command) #Syntax 2 var2=`a valid linux command`>
Poglejmo primer.
#!/bin/sh b=$(pwd) c=`pwd` echo $b echo $c d=$(ls /bin | grep bash) echo $d>

Shranjevanje izhoda ukazov
Izhodne kode ukazov lupine
Kadarkoli se ukaz konča in vrne nadzor nadrejenemu procesu, vrne izhodne kode med 0 in 255. Izhodna koda 0 pomeni, da je bil ukaz uspešen, katera koli druga izhodna koda pa pomeni, da ukaz ni bil uspešen. Izhodno kodo si lahko ogledate po zagonu katerega koli ukaza z dostopom do $? spremenljivka. Oglejte si spodnji primer.

izhodna koda ukaza lupine
Ročno lahko nastavite izhodno kodo za lupinski skript. To lahko uporabite s pogojnimi stavki, da sporočite, ali je bil namen skripta dosežen ali ne.
Primer
#!/bin/sh read x if [ $x -ne 10 ] then echo failed exit 1 else echo passed exit 0 fi>

izhodna koda ukaza lupine
shrani ime skripta. Oglejmo si primer, da bomo vse to razumeli.
js onload
#!/bin/sh echo 'No of arguments is $#' echo 'Name of the script is Shell je vmesnik operacijskega sistema. Sprejema ukaze uporabnikov in jih interpretira operacijskemu sistemu. Če želite zagnati več ukazov skupaj, lahko to storite tako, da ustvarite lupinski skript. Lupinski skripti so zelo uporabni, če morate rutinsko opravljati nalogo, na primer ustvarjanje varnostne kopije. Te ukaze lahko naštejete in jih vse izvedete z enim samim skriptom. Poglejmo, kako lahko ustvarite lupinski skript in ga zaženete v sistemu Linux.
Ustvarjanje lupinskega skripta
Prijavite se v svoj stroj Linux in odprite terminal, pomaknite se do mape, v katero želite shraniti lupinski skript. Lupinski skripti se končajo s pripono .sh. Ustvarimo svoj prvi lupinski skript. Vtipkaj
touch script.sh>
Ta skriptna datoteka privzeto ni izvršljiva, tej datoteki moramo dati izvršljivo dovoljenje. Vtipkaj
chmod +x script.sh>
Zdaj bomo temu skriptu lupine dodali nekaj ukazov. Odprite ta lupinski skript s katerim koli urejevalnikom besedil po vaši izbiri (na osnovi ukazne vrstice ali GUI) in dodajte nekaj ukazov. Uporabili bomo nano. Vtipkaj
nano script.sh>
Dodajte naslednje ukaze, da preizkusite ta lupinski skript
echo This is my first shell script touch testfile ls echo End of my shell script>
Shranite spremembe in zaženite lupinski skript tako, da vnesete
./script.sh>

Posnetek zaslona zgornjih korakov
Vidite lahko, da je izvršil vse podane ukaze.
Komentarji v lupinskem skriptu
Vsaka vrstica, ki se v skriptu lupine začne z #, se obravnava kot komentar in jo lupina med izvajanjem prezre, razen vrstice shebang, ki jo bomo videli kasneje v tem članku. Poglejmo primer. Ustvari se lupinski skript z naslednjo vsebino.
# This is a comment echo Testing comments in shell script>

Komentarji v skriptu Shell
Vidite lahko, da je komentar prezrt.
Spremenljivke v lupinskem skriptu
Da, skripti lupine podpirajo uporabo spremenljivk in ni nam treba definirati vrste spremenljivke med njeno deklaracijo. Obstajata dve vrsti spremenljivk:
- Sistemsko definirane spremenljivke
- Uporabniško definirane spremenljivke.
Sistemsko definirane spremenljivke, imenovane tudi spremenljivke okolja, so na splošno napisane z veliko začetnico. Z ukazom printenv si lahko ogledate vse trenutne spremenljivke okolja. Uporabniško definirane spremenljivke nastavi uporabnik in obstajajo le med izvajanjem skripta. Spremenljivko lahko definirate tako, da preprosto vnesete njeno ime in dodelite vrednost z znakom = ter dostopate do spremenljivke tako, da dodate $ pred ime spremenljivke. Spremenljivke so prikazane v naslednjem primeru skripta.
# Accessing an Environment Variable echo $USER # Creating and accessing User defined Variable variable_name='Geeksforgeeks' echo $variable_name>

Spremenljivke v lupinskem skriptu
Definiranje tolmača Shell Script
V Linuxu je na voljo veliko lupin, kot so The bourne shell(sh), The Korn Shell(ksh) in GNU Bourne-Again Shell(bash). Skripti, napisani za lupino sh, se imenujejo skripti lupine in jih lahko razlagata obe lupini, ksh in bash. ksh in Bash sta izboljšani različici originalne lupine sh in imata več funkcij kot sh. Bash je na splošno privzeta lupina v večini distribucij Linuxa in skripti, napisani posebej za lupino bash, se imenujejo skripti bash.
Določite lahko, katero lupino bo uporabil skript, tudi če se skript izvaja iz drugega terminala lupine. Če želite to narediti, dodajte #! na vrhu skriptne datoteke, ki ji sledi absolutna pot izbrane lupine. Če želite določiti bash kot tolmača, dodajte naslednjo vrstico na vrh lupinskega skripta.
#!/bin/bash>
Ta linija se imenuje shebang linija.
Opomba: To bo delovalo samo, če je v vašem sistemu nameščen bash.
Operatorji primerjave
V skriptni lupini lahko primerjate dve spremenljivki. Te primerjave delamo, da sprejemamo odločitve, kasneje v tem članku bomo videli, kako to storiti, pred tem pa je tukaj seznam nekaterih primerjalnih operaterjev.
Celoštevilska primerjava
| Operater | Opis |
| -ekv | je enako |
| - je | ni enako |
| -gt | je večji od |
| -ge | je večje ali enako |
| -Lt | je manj kot |
| - | je manjše ali enako |
Primerjava nizov
| Operater | Opis |
| == | je enako |
| != | ni enako |
| < | je manj kot v abecednem vrstnem redu ASCII |
| > | je večje od v abecednem vrstnem redu ASCII |
Pred tem dodamo , ker jih je treba ubežati, ko jih vnesemo v konstrukt [ ]. Zdaj pa poglejmo, kje se uporabljajo.
Pogojni stavki
Pogojni stavki se uporabljajo za izvajanje bloka kode le, ko so izpolnjeni določeni pogoji. Lupinski skripti podpirajo uporabo pogojnih stavkov. Za preverjanje pogojev uporabljamo primerjalne operatorje. Poglejmo nekaj pogojnih izjav.
Če izjava
Preveri pogoj in če je pogoj resničen, izvede ukaze.
Sintaksa
if [ condition ] then #statements fi>
Poglejmo primer.
#!/bin/sh x=10 y=11 if [ $x -ne $y ] then echo 'Not equal' fi>

.if izjava
Izjava if-else
V stavku if-else lahko podate niz ukazov, ki naj se zaženejo, če pogoj ni izpolnjen.
Sintaksa
if [ condition ] then #set of statements if the condition is true else #set of statements if the condition is false fi>
Poglejmo primer
#!/Syntaxbin/sh x=10 y=10 if [ $x -ne $y ] then echo 'Not equal' else echo 'They are equal' fi>

.if-else izjava
Obstajajo še drugi pogojni stavki, o njih lahko preberete tukaj .
Opomba: Vnesite presledek za [ in pred ], medtem ko navajate pogoj, ki ga želite preveriti, sicer se prikaže napaka.
Zanke
Z uporabo zank lahko niz ukazov izvajate znova in znova, dokler ni izpolnjen določen pogoj. Oglejmo si nekaj zank.
Medtem ko zanka
Če je pogoj resničen, začne izvajati navedene ukaze in jih ponavlja, dokler pogoj ni false.
Sintaksa
while [ condition ] do #set of statements done>
Poglejmo primer.
#!/bin/sh x=2 while [ $x -lt 6 ] do echo $x x=`expr $x + 1` done>

Medtem ko zanka
Stavek expr priložimo znotraj ``, ko ga dodeljujemo spremenljivki. O ukazu expr si lahko preberete tukaj.
Za zanko
V zanki for spremenljivka ponovi seznam vrednosti in se konča, ko ni več vrednosti za ponovitev.
Sintaksa
for var in val1 val2 val3 do #statements done>
Poglejmo primer.
#!/bin/sh for var in 2 4 5 8 do echo $var done>

za zanko
O zankah lahko preberete podrobno tukaj .
Pozicijski argumenti
Pozicijski argumenti so argumenti ali vrednosti, ki jih posredujemo lupinskemu skriptu med izvajanjem skripta. Do njih lahko dostopate s spremenljivkami $0, $1, $2 … $9. Poleg tega se nanje sklicujejo ${10}, ${11} in tako naprej. $# shrani št. posredovanih argumentov in $0 shrani ime skripta. Oglejmo si primer, da bomo vse to razumeli.
#!/bin/sh echo 'No of arguments is $#' echo 'Name of the script is $0' echo 'First argument is $1' echo 'Second argument is $2'>
Če želite posredovati argumente, jih preprosto vnesite v terminal za imenom skripta, kot je prikazano spodaj.

Pozicijski argumenti
Shranjevanje izhoda ukazov
Izhod ukazov lahko shranite znotraj spremenljivke v lupinskem skriptu. To lahko storite na dva načina.
Sintaksa
#Syntax 1 var=$(a valid linux command) #Syntax 2 var2=`a valid linux command`>
Poglejmo primer.
#!/bin/sh b=$(pwd) c=`pwd` echo $b echo $c d=$(ls /bin | grep bash) echo $d>

Shranjevanje izhoda ukazov
Izhodne kode ukazov lupine
Kadarkoli se ukaz konča in vrne nadzor nadrejenemu procesu, vrne izhodne kode med 0 in 255. Izhodna koda 0 pomeni, da je bil ukaz uspešen, katera koli druga izhodna koda pa pomeni, da ukaz ni bil uspešen. Izhodno kodo si lahko ogledate po zagonu katerega koli ukaza z dostopom do $? spremenljivka. Oglejte si spodnji primer.

izhodna koda ukaza lupine
Ročno lahko nastavite izhodno kodo za lupinski skript. To lahko uporabite s pogojnimi stavki, da sporočite, ali je bil namen skripta dosežen ali ne.
Primer
#!/bin/sh read x if [ $x -ne 10 ] then echo failed exit 1 else echo passed exit 0 fi>

izhodna koda ukaza lupine
' echo 'First argument is ' echo 'Second argument is '>
Če želite posredovati argumente, jih preprosto vnesite v terminal za imenom skripta, kot je prikazano spodaj.

Pozicijski argumenti
Shranjevanje izhoda ukazov
Izhod ukazov lahko shranite znotraj spremenljivke v lupinskem skriptu. To lahko storite na dva načina.
Sintaksa
#Syntax 1 var=$(a valid linux command) #Syntax 2 var2=`a valid linux command`>
Poglejmo primer.
#!/bin/sh b=$(pwd) c=`pwd` echo $b echo $c d=$(ls /bin | grep bash) echo $d>

Shranjevanje izhoda ukazov
Izhodne kode ukazov lupine
Kadarkoli se ukaz konča in vrne nadzor nadrejenemu procesu, vrne izhodne kode med 0 in 255. Izhodna koda 0 pomeni, da je bil ukaz uspešen, katera koli druga izhodna koda pa pomeni, da ukaz ni bil uspešen. Izhodno kodo si lahko ogledate po zagonu katerega koli ukaza z dostopom do $? spremenljivka. Oglejte si spodnji primer.

izhodna koda ukaza lupine
Ročno lahko nastavite izhodno kodo za lupinski skript. To lahko uporabite s pogojnimi stavki, da sporočite, ali je bil namen skripta dosežen ali ne.
Primer
#!/bin/sh read x if [ $x -ne 10 ] then echo failed exit 1 else echo passed exit 0 fi>

izhodna koda ukaza lupine