Kaikissa Linux-jakeluissa shell-skripti on kuin taikasauva, joka automatisoi prosessin, säästää käyttäjien aikaa ja lisää tuottavuutta. Tämä skriptiopetusohjelma esittelee sinulle 25 plus-skriptiesimerkkiä.
Mutta ennen kuin siirrymme aiheeseen shell scripting Esimerkkejä, ymmärrämme komentotulkkikomentosarjan ja shell-komentosarjojen todelliset käyttötapaukset.
Mikä on Shell Script?
No, kuori on a CLI ( komentorivin tulkki ), joka toimii tekstiikkunassa, jossa käyttäjät voivat hallita ja suorittaa komentotulkkikomentoja. Toisaalta prosessia, jossa kirjoitetaan joukko komentoja, jotka suoritetaan Linux-järjestelmässä. Tiedostoa, joka sisältää tällaiset ohjeet, kutsutaan bash-skriptiksi.
Shell-skriptien käyttötavat
Alla on joitain Shell Scriptin yleisiä käyttötapoja:
- Tehtävien automaatio – Sitä voidaan käyttää automatisoimaan toistuvia tehtäviä, kuten tavallisia varmuuskopioita ja ohjelmiston asennustehtäviä.
- Räätälöinti – Shell-skriptien avulla voidaan suunnitella sen komentoriviympäristö ja suorittaa tehtävänsä helposti tarpeiden mukaan.
- Tiedostonhallinta - Shell-skriptejä voidaan käyttää myös tiedostojen ja hakemistojen hallintaan ja käsittelyyn, kuten tiedostojen siirtämiseen, kopioimiseen, uudelleennimeämiseen tai poistamiseen.
Shell Script -esimerkkejä Linuxissa
1) Mitä shebang (#!) shell-skriptin alussa tarkoittaa?
The shebang (#!) skriptin alussa osoittaa tulkin, jota tulee käyttää komentosarjan suorittamiseen. Se kertoo järjestelmälle, minkä kuoren tai tulkin tulee tulkita komentosarjan komennot.
Esimerkiksi: Oletetaan, että meillä on skripti nimeltä myscript.sh kirjoitettu Bash-kuoressa:
Järjestä satunnaisella sql:llä

shebang
Tässä esimerkissä:
- Komentosarjan alussa oleva #!/bin/bash osoittaa, että komentosarja tulee tulkita Bash-kuoren avulla.
- Kaikukomentoja käytetään viestien tulostamiseen päätelaitteelle.
2) Kuinka suoritat komentotulkkikomentosarjan komentoriviltä?
Suorittaaksesi komentotulkkikomentosarjan komentoriviltä, meidän on noudatettava näitä vaiheita:
- Varmista, että komentosarjatiedostolla on suoritettavat oikeudet käyttämällä chmod-komento :
chmod +x myscript.sh>
- Suorita komentosarja sen tiedostonimellä:
./myscript.sh>
Täällä sinun on vaihdettava myscriptt.sh omalla käsikirjoitusnimelläsi.
3) Kirjoita komentosarja, joka tulostaa techcodeview.comn päätteeseen.
Luo komentosarjan nimi `myscript.sh` (käytämme ` koska ` editori, voit valita minkä tahansa editorin)
vim myscript.sh>
#!/bin/bash
# Tämä komentosarja tulostaa techcodeview.comn terminaaliin
echo techcodeview.com

tulostusnimi
Teemme skriptimme suoritettavan käyttämällä 'chmod +x' -komentoa ja suoritamme sitten komennolla './myscipt.sh' ja saamme halutun tulosteen techcodeview.com.
4) Selitä echo-komennon tarkoitus shell-komentosarjassa.
The kaiku komento käytetään tekstin tai muuttujien näyttämiseen terminaalissa. Sitä käytetään yleisesti viestien, muuttujien arvojen tulostamiseen ja ohjelmatulosteen luomiseen.

kaiku komento
Tässä esimerkissä olemme suorittaneet `echo' terminaalissa suoraan, koska se toimii samalla tavalla shell-skriptin sisällä.
5) Kuinka voit määrittää arvon muuttujalle shell-skriptissä?
Muuttujille annetaan arvot määritysoperaattorilla =.
Esimerkiksi:
#!/bin/bash
# Arvon antaminen muuttujalle
nimi = Jayesh
ikä = 21
echo $nimi $ikä
Selitys:
- Nimimuuttujalle annetaan arvo Jayesh.
- Ikämuuttujalle annetaan arvo 21.
- echoa käytetään tulostamiseen ja `$name` `$age`:llä kutsutaan muuttujiin tallennettua arvoa.

6) Kirjoita shell-skripti, joka ottaa käyttäjän nimen syötteenä ja tervehtii häntä.
Luo komentosarjan nimi 'example.sh'.
#!/bin/bash
# Pyydä käyttäjältä hänen nimeään
echo Mikä sinun nimesi on?
lue nimi
# Tervehdys käyttäjää
echo Hei, $name! Hauska tavata.
Selitys:
- #!/bin/bash: Tämä on shebang-linja. Se käskee järjestelmää käyttämään Bash-tulkkia komentosarjan suorittamiseen.
- # Kysy käyttäjältä hänen nimensä: Tämä on kommentti. Se tarjoaa kontekstin tulevasta koodista. Tulkki jättää kommentit huomioimatta.
- echo Mikä on nimesi?: echo-komentoa käytetään tekstin näyttämiseen lainausmerkeissä terminaalissa.
- lue nimi: Lukukomento odottaa, että käyttäjä syöttää tekstiä ja tallentaa sen muuttujan nimeen.
- echo Hei, $name! Hauska tavata.: Tämä rivi käyttää echo-komentoa tervehdysviestin tulostamiseen, joka sisältää nimimuuttujan arvon, joka on kerätty käyttäjän syötteestä.

7) Kuinka lisäät kommentteja shell-skriptiin?
Kommentit shell-skripteissä käytetään antamaan koodille selityksiä tai kontekstia. Tulkki jättää ne huomiotta, ja ne on tarkoitettu vain käsikirjoitusta lukeville ihmisille. Voit lisätä kommentteja #-symbolilla.
#!/bin/bash
# Tämä on kommentti, joka selittää käsikirjoituksen tarkoituksen
echo gfg
8) Luo komentosarja, joka tarkistaa, onko nykyisessä hakemistossa tiedosto.
Tässä on komentosarja, joka tarkistaa, onko tiedosto nimeltä example.txt olemassa nykyisessä hakemistossa:
#!/bin/bash
tiedosto=esimerkki.txt
# Tarkista, onko tiedosto olemassa
if [ -e $tiedosto ]; sitten
echo Tiedosto on olemassa: $file
muu
echo Tiedostoa ei löydy: $file
olla
Selitys:
- #!/bin/bash: Tämä on shebang-rivi, joka määrittää tulkin (/bin/bash), jota käytetään komentosarjan suorittamiseen.
- file=example.txt: Tämä rivi määrittää muuttujatiedoston ja määrittää sille arvon esimerkki.txt. Voit korvata tämän sen tiedoston nimellä, jonka haluat tarkistaa.
- if [ -e $tiedosto ]; then: Tämä rivi aloittaa if-lauseen. Ehto [ -e $tiedosto ] tarkistaa, onko tiedostomuuttujan arvon määrittelemä tiedosto olemassa. -e-lippua käytetään tiedoston olemassaolon tarkistamiseen.
- echo Tiedosto on olemassa: $tiedosto: Jos ehto on tosi (eli tiedosto on olemassa), tämä rivi tulostaa viestin, joka osoittaa, että tiedosto on olemassa, yhdessä tiedoston nimen kanssa.
- else: Jos ehto on epätosi (eli tiedostoa ei ole olemassa), komentosarja suorittaa else-haaran alla olevan koodin.
- echo Tiedostoa ei löydy: $file: Tämä rivi tulostaa virheilmoituksen, joka ilmoittaa, että määritettyä tiedostoa ei löydy, sekä tiedoston nimen.
- fi: Tämä rivi merkitsee if-lauseen loppua.

Tiedoston etsiminen
9) Mitä eroa on yksittäisten lainausmerkkien (') ja kaksoislainausmerkkien () välillä komentotulkkikomentosarjassa?
Yksittäisiä lainausmerkkejä (') ja kaksoislainausmerkkejä () käytetään merkkijonojen sulkemiseen komentotulkkikomentosarjassa, mutta niillä on erilainen toimintatapa:
- Yksittäiset lainausmerkit: Kaikkea yksittäisten lainausmerkkien välissä käsitellään kirjaimellisena merkkijonona. Muuttujien nimiä ja useimpia erikoismerkkejä ei laajenneta.
- Tuplalainausmerkit: Muuttujat ja tietyt lainausmerkkien sisällä olevat erikoismerkit laajennetaan. Sisältö on muuttuva- ja komentokorvauksen alainen.
#!/bin/bash
abcd=Hei
echo '$abcd' # Lähtö: $abcd
echo $abcd # Lähtö: Hei
10) Kuinka voit käyttää komentoriviargumentteja shell-skriptissä?
Komentoriviargumentit ovat arvoja, jotka annetaan komentosarjalle sen suoritettaessa. Niitä voidaan käyttää komentosarjassa käyttämällä erityisiä muuttujia, kuten , jne., joissa edustaa ensimmäistä argumenttia, edustaa toista argumenttia ja niin edelleen.
Esimerkiksi: Jos komentosarjan nimi on 'example.sh'.
#!/bin/bash
echo komentosarjan nimi:
Kaikissa Linux-jakeluissa shell-skripti on kuin taikasauva, joka automatisoi prosessin, säästää käyttäjien aikaa ja lisää tuottavuutta. Tämä skriptiopetusohjelma esittelee sinulle 25 plus-skriptiesimerkkiä.
Mutta ennen kuin siirrymme aiheeseen shell scripting Esimerkkejä, ymmärrämme komentotulkkikomentosarjan ja shell-komentosarjojen todelliset käyttötapaukset.
Mikä on Shell Script?
No, kuori on a CLI ( komentorivin tulkki ), joka toimii tekstiikkunassa, jossa käyttäjät voivat hallita ja suorittaa komentotulkkikomentoja. Toisaalta prosessia, jossa kirjoitetaan joukko komentoja, jotka suoritetaan Linux-järjestelmässä. Tiedostoa, joka sisältää tällaiset ohjeet, kutsutaan bash-skriptiksi.
Shell-skriptien käyttötavat
Alla on joitain Shell Scriptin yleisiä käyttötapoja:
- Tehtävien automaatio – Sitä voidaan käyttää automatisoimaan toistuvia tehtäviä, kuten tavallisia varmuuskopioita ja ohjelmiston asennustehtäviä.
- Räätälöinti – Shell-skriptien avulla voidaan suunnitella sen komentoriviympäristö ja suorittaa tehtävänsä helposti tarpeiden mukaan.
- Tiedostonhallinta - Shell-skriptejä voidaan käyttää myös tiedostojen ja hakemistojen hallintaan ja käsittelyyn, kuten tiedostojen siirtämiseen, kopioimiseen, uudelleennimeämiseen tai poistamiseen.
Shell Script -esimerkkejä Linuxissa
1) Mitä shebang (#!) shell-skriptin alussa tarkoittaa?
The shebang (#!) skriptin alussa osoittaa tulkin, jota tulee käyttää komentosarjan suorittamiseen. Se kertoo järjestelmälle, minkä kuoren tai tulkin tulee tulkita komentosarjan komennot.
Esimerkiksi: Oletetaan, että meillä on skripti nimeltä myscript.sh kirjoitettu Bash-kuoressa:
shebang
Tässä esimerkissä:
- Komentosarjan alussa oleva #!/bin/bash osoittaa, että komentosarja tulee tulkita Bash-kuoren avulla.
- Kaikukomentoja käytetään viestien tulostamiseen päätelaitteelle.
2) Kuinka suoritat komentotulkkikomentosarjan komentoriviltä?
Suorittaaksesi komentotulkkikomentosarjan komentoriviltä, meidän on noudatettava näitä vaiheita:
- Varmista, että komentosarjatiedostolla on suoritettavat oikeudet käyttämällä chmod-komento :
chmod +x myscript.sh>
- Suorita komentosarja sen tiedostonimellä:
./myscript.sh>Täällä sinun on vaihdettava myscriptt.sh omalla käsikirjoitusnimelläsi.
3) Kirjoita komentosarja, joka tulostaa techcodeview.comn päätteeseen.
Luo komentosarjan nimi `myscript.sh` (käytämme ` koska ` editori, voit valita minkä tahansa editorin)
vim myscript.sh>#!/bin/bash
# Tämä komentosarja tulostaa techcodeview.comn terminaaliin
echo techcodeview.comtulostusnimi
Teemme skriptimme suoritettavan käyttämällä 'chmod +x' -komentoa ja suoritamme sitten komennolla './myscipt.sh' ja saamme halutun tulosteen techcodeview.com.
4) Selitä echo-komennon tarkoitus shell-komentosarjassa.
The kaiku komento käytetään tekstin tai muuttujien näyttämiseen terminaalissa. Sitä käytetään yleisesti viestien, muuttujien arvojen tulostamiseen ja ohjelmatulosteen luomiseen.
kaiku komento
Tässä esimerkissä olemme suorittaneet `echo' terminaalissa suoraan, koska se toimii samalla tavalla shell-skriptin sisällä.
5) Kuinka voit määrittää arvon muuttujalle shell-skriptissä?
Muuttujille annetaan arvot määritysoperaattorilla =.
Esimerkiksi:
#!/bin/bash
# Arvon antaminen muuttujalle
nimi = Jayesh
ikä = 21
echo $nimi $ikäSelitys:
- Nimimuuttujalle annetaan arvo Jayesh.
- Ikämuuttujalle annetaan arvo 21.
- echoa käytetään tulostamiseen ja `$name` `$age`:llä kutsutaan muuttujiin tallennettua arvoa.
6) Kirjoita shell-skripti, joka ottaa käyttäjän nimen syötteenä ja tervehtii häntä.
Luo komentosarjan nimi 'example.sh'.
#!/bin/bash
# Pyydä käyttäjältä hänen nimeään
echo Mikä sinun nimesi on?
lue nimi
# Tervehdys käyttäjää
echo Hei, $name! Hauska tavata.Selitys:
- #!/bin/bash: Tämä on shebang-linja. Se käskee järjestelmää käyttämään Bash-tulkkia komentosarjan suorittamiseen.
- # Kysy käyttäjältä hänen nimensä: Tämä on kommentti. Se tarjoaa kontekstin tulevasta koodista. Tulkki jättää kommentit huomioimatta.
- echo Mikä on nimesi?: echo-komentoa käytetään tekstin näyttämiseen lainausmerkeissä terminaalissa.
- lue nimi: Lukukomento odottaa, että käyttäjä syöttää tekstiä ja tallentaa sen muuttujan nimeen.
- echo Hei, $name! Hauska tavata.: Tämä rivi käyttää echo-komentoa tervehdysviestin tulostamiseen, joka sisältää nimimuuttujan arvon, joka on kerätty käyttäjän syötteestä.
7) Kuinka lisäät kommentteja shell-skriptiin?
Kommentit shell-skripteissä käytetään antamaan koodille selityksiä tai kontekstia. Tulkki jättää ne huomiotta, ja ne on tarkoitettu vain käsikirjoitusta lukeville ihmisille. Voit lisätä kommentteja #-symbolilla.
#!/bin/bash
# Tämä on kommentti, joka selittää käsikirjoituksen tarkoituksen
echo gfg8) Luo komentosarja, joka tarkistaa, onko nykyisessä hakemistossa tiedosto.
Tässä on komentosarja, joka tarkistaa, onko tiedosto nimeltä example.txt olemassa nykyisessä hakemistossa:
#!/bin/bash
tiedosto=esimerkki.txt
# Tarkista, onko tiedosto olemassa
if [ -e $tiedosto ]; sitten
echo Tiedosto on olemassa: $file
muu
echo Tiedostoa ei löydy: $file
ollaSelitys:
- #!/bin/bash: Tämä on shebang-rivi, joka määrittää tulkin (/bin/bash), jota käytetään komentosarjan suorittamiseen.
- file=example.txt: Tämä rivi määrittää muuttujatiedoston ja määrittää sille arvon esimerkki.txt. Voit korvata tämän sen tiedoston nimellä, jonka haluat tarkistaa.
- if [ -e $tiedosto ]; then: Tämä rivi aloittaa if-lauseen. Ehto [ -e $tiedosto ] tarkistaa, onko tiedostomuuttujan arvon määrittelemä tiedosto olemassa. -e-lippua käytetään tiedoston olemassaolon tarkistamiseen.
- echo Tiedosto on olemassa: $tiedosto: Jos ehto on tosi (eli tiedosto on olemassa), tämä rivi tulostaa viestin, joka osoittaa, että tiedosto on olemassa, yhdessä tiedoston nimen kanssa.
- else: Jos ehto on epätosi (eli tiedostoa ei ole olemassa), komentosarja suorittaa else-haaran alla olevan koodin.
- echo Tiedostoa ei löydy: $file: Tämä rivi tulostaa virheilmoituksen, joka ilmoittaa, että määritettyä tiedostoa ei löydy, sekä tiedoston nimen.
- fi: Tämä rivi merkitsee if-lauseen loppua.
Tiedoston etsiminen
9) Mitä eroa on yksittäisten lainausmerkkien (') ja kaksoislainausmerkkien () välillä komentotulkkikomentosarjassa?
Yksittäisiä lainausmerkkejä (') ja kaksoislainausmerkkejä () käytetään merkkijonojen sulkemiseen komentotulkkikomentosarjassa, mutta niillä on erilainen toimintatapa:
- Yksittäiset lainausmerkit: Kaikkea yksittäisten lainausmerkkien välissä käsitellään kirjaimellisena merkkijonona. Muuttujien nimiä ja useimpia erikoismerkkejä ei laajenneta.
- Tuplalainausmerkit: Muuttujat ja tietyt lainausmerkkien sisällä olevat erikoismerkit laajennetaan. Sisältö on muuttuva- ja komentokorvauksen alainen.
#!/bin/bash
abcd=Hei
echo '$abcd' # Lähtö: $abcd
echo $abcd # Lähtö: Hei10) Kuinka voit käyttää komentoriviargumentteja shell-skriptissä?
Komentoriviargumentit ovat arvoja, jotka annetaan komentosarjalle sen suoritettaessa. Niitä voidaan käyttää komentosarjassa käyttämällä erityisiä muuttujia, kuten $1, $2 jne., joissa $1 edustaa ensimmäistä argumenttia, $2 edustaa toista argumenttia ja niin edelleen.
Esimerkiksi: Jos komentosarjan nimi on 'example.sh'.
#!/bin/bash
echo komentosarjan nimi: $0
echo Ensimmäinen argumentti: $1
echo Toinen argumentti: $2Jos suoritamme skriptin komennolla `.example.sh hello_1 hello_2`, se tulostaa:
cli argumentit
11) Kuinka käytät for-silmukkaa arvoluettelon toistamiseen?
Luo komentosarjan nimi 'example.sh'.
#!/bin/bash
hedelmät = (omena banaani kirsikka taateli)
hedelmille ${fruits[@]}; tehdä
echo Nykyinen hedelmä: $hedelmä
tehtySelitys:
`fruits=`-rivi luo hedelmät-nimisen taulukon, jossa on neljä elementtiä: omena, banaani, kirsikka ja taateli.
- hedelmille ${fruits[@]}; do: Tämä rivi aloittaa for-silmukan. Tässä on mitä kukin osa tarkoittaa:
- hedelmälle: Tämä ilmoittaa silmukkamuuttujan nimeltä hedelmä. Jokaisessa silmukan iteraatiossa hedelmä säilyttää hedelmätaulukon nykyisen elementin arvon.
- ${fruits[@]}: Tämä on taulukkolaajennus, joka ottaa kaikki hedelmät-taulukon elementit. ${…} syntaksi varmistaa, että jokaista elementtiä käsitellään erillisenä kohteena.
- do: Tämä avainsana merkitsee silmukan rungon alkua.
- echo Nykyinen hedelmä: $fruit: Silmukan sisällä tämä rivi käyttää echo-komentoa näyttääkseen silmukan muuttujan hedelmän nykyisen arvon. Se tulostaa viestin kuten Nykyinen hedelmä: omena jokaiselle taulukon hedelmälle.
- done: Tämä avainsana merkitsee silmukan rungon loppua. Se kertoo skriptille, että silmukka on päättynyt.
silmukalle
12) Kirjoita shell-skripti, joka laskee kokonaislukujen summan 1:stä N:ään silmukan avulla.
Luo komentosarjan nimi 'example.sh'.
#!/bin/bash
echo Syötä numero (N):
lue N
summa = 0
for ((i=1; i<=$N; i++ )); tehdä
summa=$((summa + i))
tehty
echo Kokonaislukujen summa välillä 1 - $N on: $summaSelitys:
Skripti alkaa pyytämällä sinua syöttämään numero (N) käyttämällä read. Tämä numero määrittää, kuinka monta kertaa silmukka suoritetaan.
- Muuttujan summa alustetaan 0:ksi. Tämä muuttuja seuraa kokonaislukujen summaa.
- For-silmukka alkaa for (( i=1; i<=$N; i++ )). Tätä silmukkarakennetta käytetään toistamaan toimintosarja tietyn määrän kertoja, tässä tapauksessa 1:stä N:n arvoon.
- Silmukan sisällä tapahtuu näitä:
- i=1 asettaa silmukkamuuttujan i 1:ksi jokaisen iteraation alussa.
- Silmukan ehto i<=$N tarkistaa, onko i edelleen pienempi tai yhtä suuri kuin annettu luku N.
- Jos ehto on tosi, silmukan runko suoritetaan.
- summa=$((summa + i)) laskee summan uuden arvon lisäämällä siihen nykyisen i:n arvon. Tämä summaa kokonaisluvut 1:stä nykyiseen i-arvoon.
- Jokaisen iteraation jälkeen i++ lisää i:n arvoa yhdellä.
- Silmukka jatkuu, kunnes ehdosta i<=$N tulee epätosi (kun i:stä tulee suurempi kuin N).
- Kun silmukka on päättynyt, komentosarja näyttää kokonaislukujen summan 1:stä syötettyyn numeroon N.
13) Luo skripti, joka etsii tietyn sanan tiedostosta ja laskee sen esiintymät.
Luo komentosarjan nimi 'word_count.sh'.
#!/bin/bash
echo Kirjoita hakusana:
lue kohde_sana
echo Syötä tiedostonimi:
lue tiedostonimi
count=$(grep -o -w $kohdesana $tiedostonimi | wc -l)
echo Sana '$target_word' esiintyy $count kertaa kohdassa '$tiedostonimi'.Selitys:
- echo Syötä etsittävä sana:: Tällä rivillä näkyy viesti, jossa käyttäjää pyydetään syöttämään sana, jota hän haluaa etsiä tiedostosta.
- read target_word: Tämä rivi lukee käyttäjän syötteen ja tallentaa sen muuttujaan nimeltä kohdesana.
- echo Syötä tiedostonimi:: Tällä rivillä näkyy viesti, jossa käyttäjää pyydetään syöttämään etsittävän tiedoston nimi.
- read filename: Tämä rivi lukee käyttäjän syöttämän syötteen ja tallentaa sen muuttujaan nimeltä filename.
- count=$(grep -o -w $kohdesana $tiedostonimi | wc -l): Tämä rivi tekee komentosarjan päätyön. Jaetaan se tarkemmin:
- grep -o -w $kohdesana $tiedostonimi: Tämä komennon osa etsii kohteen_sanan esiintymiä määritetystä tiedostonimestä. Vaihtoehdot -o ja -w varmistavat, että vain kokonaiset sanat lasketaan.
- |: Tämä on putki, joka ottaa edellisen komennon lähdön ja lähettää sen syötteenä seuraavaan komentoon.
- wc -l: Tämä komennon osa käyttää wc-komentoa syötteen rivien määrän laskemiseen. Vaihtoehto -l laskee erityisesti rivit.
- Koko komento laskee kohdesanan esiintymisten määrän tiedostossa ja määrittää määrän muuttujalle count
14) Selitä erot standardilähdön (stdout) ja vakiovirheen (stderr) välillä.
Suurin ero vakiolähdön (stdout) ja vakiovirheen (stderr) välillä on seuraava:
- Vakiolähtö (stdout): Tämä on oletuslähtövirta, johon komennon tavallinen tulos menee. Se näkyy terminaalissa oletuksena. Voit ohjata sen tiedostoon käyttämällä>.
- Vakiovirhe (stderr): Tämä on virheilmoitusten ja varoitusten lähtövirta. Se näkyy myös terminaalissa oletuksena. Voit ohjata sen tiedostoon painikkeella 2>.
15) Selitä ehdollisten lauseiden käsite shell-komentosarjassa.
Ehdolliset lauseet shell-komentosarjassa antaa meille mahdollisuuden tehdä päätöksiä ja hallita käsikirjoituksemme kulkua tiettyjen ehtojen perusteella. Niiden avulla skriptimme voi suorittaa erilaisia komentojoukkoja riippuen siitä, onko tietty ehto tosi vai epätosi. Ensisijaiset ehdolliset lauseet komentotulkkikomentosarjassa ovat if-lause, elif-lause (valinnainen) ja else-lause (valinnainen).
Tässä on ehdollisen lausekkeen perusrakenne komentotulkkikomentosarjassa:
jos [ehto ]; sitten
# Suorita komennot, jos ehto on tosi
elif [toinen_ehto]; sitten
# Suoritettavat komennot, jos other_condition on tosi (valinnainen)
muu
# Suoritettavat komennot, jos mikään ehdoista ei täyty (valinnainen)
ollaSelitys:
- [ehto ] = Komento, joka arvioi ehdon ja palauttaa tosi (0) tai epätosi (ei nolla) poistumistilan.
- then = Se on avainsana, joka osoittaa, että sitä seuraavat komennot suoritetaan, jos ehdon arvo on tosi.
- elif = (lyhenne sanoista else if) Se on osio, jonka avulla voimme määrittää lisäehdot tarkistettaviksi.
- else = se on osa, joka sisältää komentoja, jotka suoritetaan, jos mikään ehdoista ei täyty.
- fi = Se on avainsana, joka merkitsee ehdollisen lohkon lopun.
16) Kuinka luet rivejä tiedostosta shell-skriptin sisällä?
Vastaanottaja lukea rivejä komentosarjan tiedostosta, voimme käyttää erilaisia menetelmiä, mutta yksi yleinen tapa on käyttää while-silmukkaa yhdessä lukukomennon kanssa. Näin voimme tehdä sen:
#!/bin/bash
file=/home/jayeshkumar/jayesh.txt
# Tarkista, onko tiedosto olemassa
if [ -e $tiedosto ]; sitten
kun taas IFS= lue -r rivi; tehdä
echo Line lukee: $line
# Lisää käsittelylogiikkasi tähän
valmis <$file
muu
echo Tiedostoa ei löydy: $file
ollaSelitys:
- #!/bin/bash: Tämä on shebang-rivi, joka määrittää tulkin (/bin/bash), jota käytetään komentosarjan suorittamiseen.
- file=/home/jayeshkumar/jayesh.txt: Tämä rivi määrittää muuttujatiedoston ja määrittää koko polun tiedostolle jayesh.txt /home/jayeshkumar-hakemistossa. Muuta tätä polkua vastaamaan sen tiedoston todellista polkua, jonka haluat lukea.
- if [ -e $tiedosto ]; then: Tämä rivi aloittaa if-lauseen. Se tarkistaa, onko muuttujan $file määrittämä tiedosto olemassa. Lippu -e tarkistaa tiedoston olemassaolon.
- kun taas IFS= lue -r rivi; do: Tämä rivi käynnistää while-silmukan, joka lukee rivejä tiedostosta.
- IFS=: IFS (Internal Field Separator) on asetettu tyhjäksi alku- ja loppuvälilyöntien säilyttämiseksi.
- read -r rivi: Tämä lukee nykyisen rivin tiedostosta ja tallentaa sen muuttujariville.
- echo Line read: $line: Tämä rivi tulostaa tiedostosta luetun rivin sisällön. Muuttuja $line sisältää nykyisen rivin sisällön.
- # Lisää käsittelylogiikkasi tähän: Tämä on paikkamerkkikommentti, johon voit lisätä oman logiikkasi kunkin rivin käsittelemiseksi. Voit esimerkiksi analysoida riviä, poimia tietoja tai suorittaa tiettyjä toimintoja sisällön perusteella.
- done <$file: Tämä merkitsee while-silmukan loppua. < $tiedosto ohjaa tiedoston sisällön silmukan luettavaksi.
- else: Jos tiedostoa ei ole olemassa (if-lauseen ehto on false), komentosarja suorittaa else-haaran alla olevan koodin.
- echo Tiedostoa ei löydy: $file: Tämä rivi tulostaa virheilmoituksen, joka osoittaa, että määritettyä tiedostoa ei löydy.
- fi: Tämä rivi merkitsee if-lauseen loppua.
tiedoston lukeminen
Täällä käytimme ` pwd ` -komento saadaksesi nykyisen hakemiston polun.
17) Kirjoita shell-skriptiin funktio, joka laskee tietyn luvun kertoimen.
Tässä on käsikirjoitus siitälaske faktoriaalitietystä numerosta.
#!/bin/bash
# Määritä funktio kertoimen laskemiseksi
laske_tekijä() {
numero = 1 dollari
fakta=1
for ((i=1; i<=num; i++)); tehdä
fakta=$((fakta * i))
tehty
echo $fakta
}
# Kehota käyttäjää syöttämään numero
echo Syötä numero:
lue input_num
# Kutsu Calcula_factorial-funktio syötenumerolla
factorial_result=$(laske_factorial $syöttö_num)
# Näytä kertoimen tulos
echo Factorial of $syötteen_numero on: $factorial_resultSelitys:
- Skripti alkaa shebang-rivillä #!/bin/bash tulkin määrittämiseksi.
- laskea_tekijä() on määritelty funktiona. Se vaatii yhden argumentin, num, joka on luku, jolle tekijä on laskettava.
- Funktion sisällä fakta alustetaan 1:ksi. Tämä muuttuja tallentaa kertoimen tuloksen.
- For-silmukka iteroituu 1:stä annettuun numeroon (num). Jokaisessa iteraatiossa se kertoo nykyisen tosiasian arvon silmukkaindeksillä i.
- Kun silmukka on valmis, tosiasiamuuttuja sisältää lasketun kertoimen.
- Skripti kehottaa käyttäjää syöttämään numeron lukemalla.
- Calculate_factorial-funktiota kutsutaan käyttäjän antamalla numerolla, ja tulos tallennetaan muuttujaan factorial_result.
- Lopuksi komentosarja näyttää lasketun tekijätuloksen.
Factorial
18) Kuinka käsittelet signaaleja, kuten Ctrl+C komentotulkkikomentosarjassa?
Shell-skriptissä voit käsitellä signaaleja, kuten Ctrl+C (tunnetaan myös nimellä SIGINT), käyttämällä trap-komentoa. Ctrl+C luo SIGINT-signaalin, kun käyttäjä painaa sitä keskeyttääkseen käynnissä olevan komentosarjan tai ohjelman. Trap-komennolla voit määrittää toimenpiteet, jotka suoritetaan, kun tietty signaali vastaanotetaan. Näin käsittelet signaaleja, kuten Ctrl+C, komentotulkkikomentosarjassa:
#!/bin/bash
siivota() {
echo Script keskeytetty. Suoritetaan puhdistusta…
# Lisää puhdistustoimesi tähän
poistuminen 1
}
# Aseta ansa kutsumaan puhdistustoimintoa, kun Ctrl+C (SIGINT) vastaanotetaan
ansan puhdistus SIGINT
# Loput käsikirjoituksestasi
kaiku juoksee…
nukkua 10
echo Valmis.Signaalien käsittely on tärkeää, jotta skriptit voidaan tehdä kestäviksi ja varmistaa, että ne käsittelevät odottamattomia keskeytyksiä sulavasti. Voit mukauttaa puhdistustoimintoa vastaamaan erityistarpeitasi, kuten sulkea tiedostoja, pysäyttää prosesseja tai kirjata tietoja ennen komentosarjan sulkemista.
Selitys:
- #!/bin/bash: Tämä shebang-rivi määrittää tulkin, jota käytetään komentosarjan suorittamiseen.
- cleanup() { … }: Tämä määrittää funktion nimeltä cleanup. Tämän toiminnon sisällä voit sisällyttää mitä tahansa toimintoja, jotka on suoritettava, kun komentosarja keskeytyy, kuten tiedostojen sulkeminen, resurssien vapauttaminen tai muiden puhdistustehtävien suorittaminen.
- trap cleanup SIGINT: Trap-komentoa käytetään signaalinkäsittelijän asettamiseen. Tässä tapauksessa se määrittää, että kun SIGINT-signaali (Ctrl+C) vastaanotetaan, puhdistustoiminto tulee suorittaa.
- echo Running…, lepotila 10, echo Valmis.: Nämä ovat vain esimerkkikomentoja, jotka simuloivat skriptin suorittamista.
19) Luo skripti, joka tarkistaa ja poistaa päällekkäisiä rivejä tekstitiedostosta.
Tässä on linux-scipt, jossa poistamme päällekkäiset rivit tekstitiedostosta.
#!/bin/bash
input_file=tulo.txt
output_file=output.txt
lajitella $syöttötiedosto | uniq> $tulostustiedosto
echo Päällekkäiset rivit poistettu onnistuneesti.Selitys:
- Skripti alkaa shebangilla (#!/bin/bash), joka osoittaa, että komentosarja tulee tulkita Bash-kuoren avulla.
- Input_file-muuttuja asetetaan päällekkäisiä rivejä sisältävän syöttötiedoston nimeksi (muuta tämä todelliseksi syöttötiedoston nimeksi).
- Muuttuja output_file asetetaan sen tulostetiedoston nimeksi, josta kaksoiskappaleet poistetaan (muuta tämä halutuksi tulostiedoston nimellä).
- Skripti käyttää sort-komentoa syötetiedoston rivien lajitteluun. Rivien lajittelu varmistaa, että päällekkäiset rivit ryhmitellään yhteen.
- Lajitellut rivit ohjataan sitten uniq-komennon läpi, joka poistaa peräkkäiset päällekkäiset rivit. Tämän prosessin tulos ohjataan tulostiedostoon.
- Kun kaksoiskappaleet on poistettu, komentosarja tulostaa onnistumisviestin.
kaksoisrivin poisto
Täällä käytämme ` kissa ` näyttääksesi tekstitiedoston sisällä olevan tekstin.
20) Kirjoita komentosarja, joka luo suojatun satunnaisen salasanan.
Tässä on skriptimme turvallisen satunnaisen salasanan luomiseksi.
#!/bin/bash
# Toiminto satunnaisen salasanan luomiseen
gener_password() {
tr -dc 'A-Za-z0-9!@#$%^&*()_+{}[]'
}
# Kutsu toiminto ja tallenna luotu salasana
salasana=$(luoda_salasana)
echo Luotu salasana: $passwordHuomautus: Käyttäjä voi vastaavasti muuttaa salasanan pituutta korvaamalla numeron '12'.
Selitys:
- Skripti alkaa shebangilla (#!/bin/bash), mikä osoittaa, että se tulee tulkita Bash-kuoren avulla.
- Generator_password-funktio on määritetty luomaan satunnainen salasana. Näin se toimii:
- tr -dc 'A-Za-z0-9!@#$%^&*()_+{}[]'
- fold -w 12 katkaisee suodatetun satunnaisen tiedon riveiksi, joiden leveys on 12 merkkiä.
- head -n 1 valitsee ensimmäisen rivin ja antaa meille satunnaisen merkkijonon, jonka pituus on 12.
- Salasanamuuttuja määritetään gener_password-funktion kutsun tuloksena.
- Lopuksi luotu salasana näytetään kaikua käyttämällä.
21) Kirjoita shell-skripti, joka laskee kaikkien hakemiston tiedostojen kokonaiskoon.
Tässä on komentosarja, jolla lasketaan kaikkien hakemiston tiedostojen kokonaiskoko.
#!/bin/bash
hakemisto=/polku/oma/hakemistoosi
total_size=$(du -csh $hakemisto | grep yhteensä | awk ‘{print $1}’)
echo Tiedostojen kokonaiskoko $hakemistossa: $total_sizeSelitys:
- Komentosarja alkaa #!/bin/bash shebangilla, mikä osoittaa, että se tulisi tulkita Bash-kuoren avulla.
- Hakemistomuuttuja asetetaan sen hakemiston polkuun, jolle haluat laskea tiedoston kokonaiskoon. Korvaa /polku/hakemistoosi todellisella polulla.
- Du-komentoa käytetään arvioimaan tiedostotilan käyttöä. Käytetyt vaihtoehdot ovat:
- -c: Tuo kokonaissumma.
- -s: Näyttää vain määritetyn hakemiston kokonaiskoon.
- -h: Tulostuskoot ihmisen luettavassa muodossa (esim. KB, MB, GB).
- Du:n tulos putoaa grep total -koon kokonaiskoon sisältävän rivin suodattamiseksi.
- awk '{print $1}' käytetään ensimmäisen kentän (kokonaiskoko) poimimiseen riviltä.
- Laskettu kokonaiskoko tallennetaan total_size-muuttujaan.
- Lopuksi skripti näyttää kokonaiskoon käyttämällä kaikua.
Tiedostojen kokonaiskoko
Täällä käytimme ` pwd `-komento nähdäksesi nykyisen hakemistopolun.
22) Selitä ero if- ja elif-lauseiden välillä komentotulkkikomentosarjassa.
Ominaisuus `jos`Staiftement 'elif' lausunto Tarkoitus Selitä ero if- ja elif-lauseiden välillä shell-komentosarjassa. Tarjoaa vaihtoehtoisia ehtoja sen tarkistamiseksi, milloin alkuehto on epätosi. käyttö Käytetty alkutilaan. Käytetään alkuperäisen if-tilan jälkeen lisäehtojen tarkistamiseen. lohkojen määrä Voi olla vain yksi jos lohko. Voi sisältää useita elif-lohkoja, mutta vain yksi muu lohko (valinnainen). Toteutus Suorittaa if-lauseeseen liittyvän koodilohkon, jos ehto on tosi. Jos ehto on epätosi, else-lohko (jos olemassa) suoritetaan (valinnainen). Tarkistaa jokaisen elif-kunnon järjestyksessä. Jos yksi elif-ehto on tosi, vastaava koodilohko suoritetaan ja komentosarja poistuu koko ehdollisesta lohkosta. Jos mikään elif-ehdoista ei ole tosi, else-lohko (jos sellainen on) suoritetaan. Sisäkkäiset rakenteet Voidaan upottaa muihin if-, elif- tai else-lohkoihin. Ei voida upottaa toiseen elif-lohkoon, mutta sitä voidaan käyttää if or else -lohkon sisällä. Ymmärretään se esimerkin avulla.
#!/bin/bash
numero = 5
jos [ $numero -gt 10 ]; sitten
echo $numero on suurempi kuin 10
muu
echo $numero ei ole suurempi kuin 10
olla
kaiku ----
jos [ $numero -gt 10 ]; sitten
echo $numero on suurempi kuin 10
elif [ $luku -eq 10 ]; sitten
echo $numero on yhtä suuri kuin 10
muu
echo $numero on pienempi kuin 10
ollaSelitys:
Tässä esimerkissä ensimmäinen if-lohko tarkistaa, onko luku suurempi kuin 10. Jos ei, se tulostaa viestin, joka osoittaa, että luku ei ole suurempi kuin 10. Toinen elif-lausekkeilla varustettu lohko tarkistaa useita ehtoja peräkkäin, kunnes yksi niistä on tosi. Tässä tapauksessa, koska luvun arvo on 5, tulos on:
jos_elif ero
23) Kuinka käytät while-silmukkaa komentojen toistumiseen?
Shell-komentosarjassa käytetään while-silmukkaa komentosarjan toistuvasti suorittamiseen niin kauan kuin määritetty ehto on tosi. Silmukka jatkaa komentojen suorittamista, kunnes ehdosta tulee epätosi.
Tässä on while-silmukan perussyntaksi:
while [ ehto ]; tehdä
# Suoritettavat komennot
tehtySelitys:
- 'While'-silmukka alkaa avainsanalla 'while', jota seuraa ehto, joka on suljettu hakasulkeisiin '[ ]'.
- Silmukan runko, joka sisältää suoritettavat komennot, on suljettu 'do'- ja 'done'-avainsanojen sisällä.
- Silmukka tarkistaa ensin kunnon. Jos ehto on tosi, silmukan rungossa olevat komennot suoritetaan. Kun silmukan runko on suoritettu, ehto tarkistetaan uudelleen ja prosessi toistetaan, kunnes ehdosta tulee epätosi.
Esimerkki: Jos haluamme tulostaa numeroita 1-5
#!/bin/bash
laskuri=1
while [ $counter -le 5 ]; tehdä
kaikunumero: $laskuri
laskuri=$((laskuri + 1))
tehtySelitys:
- Laskurimuuttuja on asetettu arvoon 1.
- While-silmukka tarkistaa, onko laskurin arvo pienempi tai yhtä suuri kuin 5. Niin kauan kuin tämä ehto on totta, silmukka jatkaa suorittamista.
- Silmukan sisällä laskurin nykyinen arvo tulostetaan kaikulla.
- Laskuria kasvatetaan yhdellä lausekkeella $((laskuri + 1)).
kun silmukka
24) Luo komentosarja, joka löytää ja luettelee kaikki tyhjät tiedostot hakemistosta.
Shell-skripti, jonka avulla voit etsiä ja listata kaikki tyhjät tiedostot hakemistosta käyttämällä 'find'- ja 'stat'-komentoja:
#!/bin/bash
hakemisto=$1″
jos [ -z $hakemisto ]; sitten
echo Käyttö: 0 dollaria
poistuminen 1
ollajos [! -d $hakemisto ]; sitten
echo Error: '$hakemisto' ei ole kelvollinen hakemisto.
poistuminen 1
olla
echo Tyhjät tiedostot $hakemistossa:
etsi $hakemisto -tyyppi f -tyhjäSelitys:
- ` #!/bin/bash `: Tätä kutsutaan shebangiksi, ja se käskee käyttöjärjestelmää käyttämään Bash-kuorta komentosarjan tulkitsemiseen ja suorittamiseen.
- ` hakemisto=$1″ `: Tämä rivi määrittää ensimmäisen komentoriviargumentin (merkitty $1) muuttujalle ` hakemistosta `.
- ` jos [ -z $hakemisto ]; sitten `: Tämä rivi aloittaa if-lauseen, joka tarkistaa, onko ` hakemistosta ` muuttuja on tyhjä (-z testaa tyhjää merkkijonoa).
- ` echo Käyttö: 0 dollaria `: Jos hakemisto on tyhjä, tämä rivi tulostaa käyttöviestin, jossa ` 0 dollaria ` edustaa skriptin nimeä.
- ` poistuminen 1 `: Tämä rivi poistuu komentosarjasta poistumiskoodilla ` 1 `, mikä tarkoittaa virhettä.
- ` olla `: Tämä rivi merkitsee `:n loppua jos ` lausunto.
- ` jos [! -d $hakemisto ]; sitten `: Tämä käynnistää toisen if-käskyn tarkistaakseen, onko annettu hakemisto olemassa (` -d ` testaa hakemistoa).
- ` echo Error: '$hakemisto' ei ole kelvollinen hakemisto. `: Jos annettua hakemistoa ei ole, tämä rivi tulostaa virheilmoituksen.
- ` poistuminen 1 `: Poistuu komentosarjasta poistumiskoodilla ` 1 `.
- ` olla `: Merkitsee toisen `:n lopun jos` lausunto.
- ` echo Tyhjät tiedostot $hakemistossa: `: Jos kaikki on toistaiseksi voimassa, tämä rivi tulostaa viestin, joka osoittaa, että komentosarja listaa tyhjiä tiedostoja määritetyssä hakemistossa.
- ` etsi $hakemisto -tyyppi f -tyhjä `: Tämä rivi käyttää ` löytö ` komento tyhjien tiedostojen etsimiseen (` -tyhjä `) tavalliset tiedostot (` -tyyppi f `) määritetyssä hakemistossa. Sitten se luettelee nämä tyhjät tiedostot.
Etsi tyhjiä tiedostoja
Huomautus : Meidän on annettava hakemisto argumenttina komentosarjaa suoritettaessa. Tässä olemme käyttäneet nykyisen hakemiston polkua home/jayeshkumar/
25) Mikä on lukukomennon tarkoitus shell-komentosarjassa?
Shell-komentosarjan lukukomento antaa komentosarjan pyytää tietoja. Se on kuin tietokone kysyy sinulta kysymyksen ja odottaa vastaustasi. Tämä on hyödyllistä komentosarjoille, joissa sinun on kirjoitettava jotain, tai kun komentosarjan on toimittava tiedostojen tietojen kanssa. Read-komento auttaa skriptiä pysähtymään ja odottamaan kirjoittamaasi, minkä jälkeen se voi käyttää näitä tietoja tehdäkseen muita asioita komentosarjassa.
Lukukomennon syntaksi:
read variable_name>Esimerkki : Jos haluamme ottaa nimen syötteeksi käyttäjältä sen tulostamista varten.
#!/bin/bash
echo Kirjoita nimesi:
lue nimi
echo Hei, $name!lue nam
Yhteenvetona voidaan todeta, että read-komentoa käytetään sieppaamaan käyttäjän syötteitä tai dataa komentosarjojen sisältämistä tiedostoista, mikä tekee komentosarjoista interaktiivisempia ja monipuolisempia.
26) Kirjoita shell-skripti, joka muuntaa kaikki hakemiston tiedostonimet pieniksi kirjaimille.
Tässä on shell-skripti, joka muuntaa kaikki hakemiston tiedostonimet pieniksi kirjaimiksi.
#!/bin/bash
hakemisto=$1″
jos [ -z $hakemisto ]; sitten
echo Käyttö: 0 dollaria
poistuminen 1
ollajos [! -d $hakemisto ]; sitten
echo Error: '$hakemisto' ei ole kelvollinen hakemisto.
poistuminen 1
ollacd $hakemisto || poistuminen 1
tiedostolle *; tehdä
jos [ -f $tiedosto ]; sitten
uusinimi=$(kaiku $tiedosto | tr ‘A-Z’ ‘a-z’)
[ $tiedosto != $uusinimi ] && mv $tiedosto $uusinimi
olla
tehtySelitys:
- #!/bin/bash : Tämä on shebang, joka määrittää, että komentosarja tulee tulkita Bash-kuoren avulla.
- hakemisto=$1″ : Tämä rivi määrittää ensimmäisen komentoriviargumentin muuttujahakemistoon.
- jos [ -z $hakemisto ]; sitten : Tämä rivi tarkistaa, onko hakemistomuuttuja tyhjä (ei argumenttia anneta komentosarjaa suoritettaessa).
- echo Käyttö: 0 dollaria : Jos hakemisto on tyhjä, tämä rivi tulostaa käyttöviestin komentosarjan nimellä ($0).
- poistuminen 1 : Tämä rivi poistuu komentosarjasta poistumiskoodilla 1, mikä tarkoittaa, että tapahtui virhe.
- f i: Tämä merkitsee ensimmäisen if-lauseen loppua.
- jos [! -d $hakemisto ]; sitten : Tämä rivi tarkistaa, onko määritettyä hakemistoa olemassa (-d testaa hakemistoa).
- echo Error: '$hakemisto' ei ole kelvollinen hakemisto. : Jos määritettyä hakemistoa ei ole, tämä rivi tulostaa virheilmoituksen.
- poistuminen 1 : Poistuu komentosarjasta poistumiskoodilla 1.
- olla : Merkitsee toisen if-lauseen lopun.
- cd $hakemisto || poistuminen 1 : Muuttaa nykyisen työhakemiston määritetyksi hakemistoksi. Jos hakemiston muutos epäonnistuu (esim. hakemistoa ei ole olemassa), komentosarja poistuu virhekoodilla.
- tiedostolle *; tehdä: minä tiedostolle *; tehdä: käynnistää silmukan, joka toistaa kaikki nykyisen hakemiston kohteet (* vastaa kaikkia tiedostonimiä).
- jos [ -f $tiedosto ]; sitten : Tarkistaa, onko nykyisen silmukan iteraatioalkio tavallinen tiedosto (-f testaa tavallista tiedostoa).
- uusinimi=$(kaiku $tiedosto | tr ‘A-Z’ ‘a-z’) : Muuntaa nykyisen tiedostonimen ($file) pieniksi komennolla tr ja tallentaa tuloksen newname-muuttujaan.
- [ $tiedosto != $uusinimi ] && mv $tiedosto $uusinimi : Vertaa alkuperäistä tiedostonimeä uuteen pienillä kirjaimilla kirjoitettuun tiedostonimeen. Jos ne ovat erilaisia, se nimeää tiedoston uudelleen mv-komennolla.
- olla : Merkitsee sisäisen if-lauseen lopun.
- tehty : Merkitsee silmukan lopun.
Huomautus : Meidän on annettava hakemisto argumenttina komentosarjaa suoritettaessa. Tässä olemme käyttäneet nykyisen hakemiston home/jayeshkumar/test polkua
27) Kuinka voit käyttää aritmeettisia operaatioita shell-skriptissä?
Aritmeettisia operaatioita voidaan suorittaa komentosarjan sisällä käyttämällä erilaisia sisäänrakennettuja menetelmiä. Shell tarjoaa mekanismeja yksinkertaisiin aritmeettisiin laskelmiin käyttämällä aritmeettista laajennusta, kuten:
- Aritmeettinen laajennus ($((…)))
- Käytä expr-komentoa
- Let Commandilla
Tässä on Shell-skriptimme, joka selittää kaikki kolme menetelmää aritmeettisille operaatioille.
#!/bin/bash
numero1 = 10
numero2 = 5#Aritmeettinen laajennus ($((…)))
tulos=$((num1 + numero2))
echo Summa: $tulos#Käytetään expr-komentoa
summa=$(laus. $num1 + $num2)
echo Summa: $summa#Käyttämällä Let Commandia
olkoon summa = num1 + num2
echo Summa: $summaSelitys:
- `#!/bin/bash` : Tämä on shebang, joka määrittää, että komentosarja tulee tulkita Bash-kuoren avulla.
- `luku1=10` ja ` numero2 = 5` : Nämä rivit antavat muuttujille ` arvot 10 ja 5 numero1 ` ja ` numero2 `, vastaavasti.
- `#Aritmeettinen laajennus ($((…)))` : Tämä on kommentti, joka osoittaa aritmeettista laajennusta osoittavan osion alun.
- `tulos=$((num1 + numero2))' : Tämä rivi käyttää aritmeettista laajennusta `:n summan laskemiseen numero1 ` ja ` numero2 ` ja tallentaa tuloksen kansioon ` tulos ` muuttuja.
- `kaikusumma: $tulos` : Tämä rivi tulostaa lasketun summan käyttämällä `-kenttään tallennettua arvoa tulos ` muuttuja.
- '#Käytetään expr-komentoa'. : Tämä on kommentti, joka osoittaa osion alun, joka osoittaa ` expr ` -komento aritmeettisille operaatioille.
- `sum=$(laus $num1 + $num2)` : Tämä rivi käyttää ` expr `-komento laskea summan ` numero1 ` ja ` numero2 ` ja tallentaa tuloksen kansioon ` summa ` muuttuja. Huomaa, että ` expr `-komento vaatii välilyöntejä operaattoreiden ympärillä.
- `echo Sum: $summa` : Tämä rivi tulostaa lasketun summan käyttämällä `-kenttään tallennettua arvoa summa ` muuttuja.
- `#Käytetään Let Commandia` : Tämä on kommentti, joka osoittaa osion alun, joka osoittaa ` antaa ` -komento aritmeettisille operaatioille.
- 'olkoon summa = num1 + num2'. : Tämä rivi käyttää ` antaa `-komento laskea summan ` numero1 ` ja ` numero2 ` ja määrittää tuloksen ` summa ` muuttuja. ` antaa `-komento ei vaadi välilyöntejä operaattoreiden ympärillä.
- `echo Sum: $summa` : Tämä rivi tulostaa lasketun summan käyttämällä `-kenttään tallennettua arvoa summa ` muuttuja.
aritmeettinen
28) Luo komentosarja, joka tarkistaa, onko verkkoisäntä tavoitettavissa.
Tässä on yksinkertainen komentosarja, joka käyttää ping-komentoa tarkistaakseen, onko verkkoisäntä tavoitettavissa:
#!/bin/bash
isäntä = $1'
jos [ -z $isäntä ]; sitten
echo Käyttö: 0 dollaria
poistuminen 1
olla
ping -c 4 $isäntä
jos [ $? -ekv 0]; sitten
echo $host on tavoitettavissa.
muu
echo $host ei ole tavoitettavissa.
ollaSelitys:
- Se ottaa isäntänimen tai IP-osoitteen argumenttina ja tarkistaa, onko argumentti annettu.
- Jos argumenttia ei anneta, se näyttää käyttöviestin ja poistuu.
- Se käyttää ping-komentoa valitsimella -c 4 lähettääkseen neljä ICMP-kaikupyyntöä määritettyyn isäntään.
- Kun ping-komento on suoritettu, se tarkistaa poistumistilan ($?). Jos poistumistila on 0, se tarkoittaa, että isäntä on tavoitettavissa ja komentosarja tulostaa onnistumisviestin. Muussa tapauksessa se tulostaa virheviestin.
Huomautus : Meidän on annettava isäntänimi argumenttina komentosarjaa suoritettaessa. Täällä olemme käyttäneet google.com:ia
29) Kirjoita Shell-skripti löytääksesi taulukon suurimman elementin:
Tässä on shell-skripti taulukon suurimman elementin löytämiseksi.
#!/bin/bash
# Ilmoita taulukko
array=(3 56 24 89 67)# Alusta muuttuja maksimiarvon tallentamiseksi ensimmäisestä elementistä alkaen
max=${array[0]}
# Iteroi taulukon läpi
for num in ${array[@]}; tehdä
# Vertaa jokaista elementtiä nykyiseen maksimiin
if ((määrä> max)); sitten
max=$num
olla
tehty# Tulosta enimmäisarvo
echo Suurin elementti taulukossa on: $max
Selitys:
- ` #!/bin/bash `: Shebang-rivi määrittää, että komentosarja tulee tulkita Bash-kuoren avulla.
- ` array=(3 56 24 89 67) `: Taulukko ilmoitetaan ja alustetaan arvoilla.
- ` max=${array[0]} `: 'max' alustetaan taulukon ensimmäisellä elementillä.
- ` for num in ${array[@]}; tehdä `: For-silmukkaa käytetään iteroitaessa taulukon elementtejä.
- ` if ((määrä> max)); sitten `: 'if'-käsky tarkistaa, onko nykyinen elementti 'num' suurempi kuin nykyinen maksimi 'max'.
- ` max=$num`: If`num 'on suurempi kuin 'max', 'max' päivitetään arvolla num.
- ` tehty `: For-silmukka on suljettu.
- ` echo Suurin elementti taulukossa on: $max `: Lopuksi komentosarja tulostaa taulukosta löytyneen enimmäisarvon.
suurin luku
30) Kirjoita komentosarja taulukon elementtien summan laskemiseksi.
#!/bin/bash
# Ilmoita taulukko
array=(1 65 22 19 94)
# Alusta muuttuja tallentaaksesi summan
summa = 0
# Iteroi taulukon läpi ja lisää jokainen elementti summaan
for num in ${array[@]}; tehdä
am=$((am + am))
tehty# Tulosta summa
echo Matriisin elementtien summa on: $summa
Selitys:
` #!/bin/bash `: Shebang-rivi määrittää, että komentosarja tulee tulkita Bash-kuoren avulla.
` array=(1 65 22 19 94) `: Taulukko ilmoitetaan ja alustetaan arvoilla.
` summa = 0 `:` summa ` alustetaan nollaan, jotta elementtien summa säilyy.
` for num in ${array[@]}; tehdä `: A ` varten `-silmukkaa käytetään iteroitaessa taulukon elementtejä.
` am=$((am + am)) `: Silmukan sisällä jokainen elementti ` yhdellä ` lisätään kohtaan ` summa ` muuttuja.
` tehty `: ` varten `silmukka on suljettu.
`echo Matriisin elementtien summa on: $sum`: Lopuksi komentosarja tulostaa taulukon kaikkien elementtien summan.
Elementtien summa
Lisätietoja Shell-skripteistä
- Ero shellin ja ytimen välillä
- Ero Bind Shellin ja Reverse Shellin välillä
- Johdatus Linux Shelliin ja Shell Scriptingiin
Johtopäätös
Me kaikki nörteistä tiedämme, että shell-skripti on erittäin hyödyllinen lisäämään työn tuottavuutta ja säästämään myös aikaa. Joten tässä artikkelissa olemme käsitelleet 30 erittäin hyödyllistä ja useimmat conman shell -skriptiesimerkkejä . Toivomme, että tämä täydellinen opas shell-skriptiesimerkistä auttaa sinua ymmärtämään kaiken shell-skripteistä.


















