Bash Scripting -opetusohjelma aloittelijoille

Bash Scripting Tutorial



Linuxin oletuskomentokieli on Bash -skripti. Meidän on suoritettava monia komentoja Linuxissa päivittäin moniin tarkoituksiin. Nämä päivittäiset tehtävät voidaan automatisoida käyttämällä bash -skriptiä. Jokainen käyttäjä voi oppia tämän komentosarjakielen erittäin helposti ja nopeasti. Jos olet uusi bash -ohjelmoinnissa, tämä opetusohjelma on sinua varten.

Sisällys:

  1. Kommentit
  2. echo -komento
  3. Muuttujat
  4. Ehdollinen lausunto
  5. Silmukat
  6. Toiminnot
  7. Ohjelmien kutsuminen komentosarjassa
  8. Valikkojen luominen
  9. Komentorivin käsittely
  10. Aritmeettinen
  11. Jono manipulointi
  12. Palautuskoodien palauttaminen komentosarjasta ja toisen skriptin pyytäminen
  13. Tiedostojen lukeminen ja kirjoittaminen
  14. Putket

Kommentit

Kommenttien lisääminen koodilla on olennainen osa mitä tahansa ohjelmointikieltä. Kommentteja ei jäsennetty komentosarjan kanssa suoritushetkellä. Lukija voi ymmärtää minkä tahansa koodin oikein, jos koodi on hyvin kommentoitu. Voit lisätä kommentin useilla tavoilla bash -skriptissä. Tässä osassa näytetään, kuinka voit lisätä yksirivisiä ja monirivisiä kommentteja bash-komentosarjaan. Luo bash -tiedosto seuraavalla komentosarjalla tietääksesi bash -kommentin käytön. Tässä käytetään#-merkkiä yksirivisen kommentin lisäämiseen, ja yksittäistä lainausta (') ja': 'käytetään monirivisten kommenttien lisäämiseen.







bash_comment.sh



#!/bin/bash
#Ota numero syötteeksi
heitti pois 'Anna numero'
lukeakohteeseen
:''
Tarkista, että tulon numero on
pienempi kuin 10 tai suurempi kuin 10 tai yhtä suuri kuin 10
''

jos [[ $ a -Lt 10 ]]
sitten
heitti pois 'Luku on alle 10'
elif [[ $ a -gt 10 ]]
sitten
heitti pois 'Luku on suurempi kuin 10'
muu
heitti pois 'Luku on 10'
olla

Lähtö:



Suorita komentosarja.





$lyödäbash_comment.sh

Tässä skripti suoritetaan kolme kertaa syöttöarvolla 3, 10 ja 90. Seuraava tulos tulee näkyviin.



Jos haluat tietää lisää bash -kommentoinnista, voit tarkistaa tämä opetusohjelma .

Mennä huipulle

echo -komento

'echo' -komentoa käytetään bashissa tulostamaan päätelaitteessa. Echo -komennolla bashissa voidaan tulostaa eri tavoin eri vaihtoehtoja. Luo bash -tiedosto seuraavalla komentosarjalla, jotta tiedät `echo` -komennon kaksi yksinkertaista käyttöä. Tässä ensimmäinen 'echo' -komento tulostaa yksinkertaisen tekstidatan uudella rivillä ja toinen echo -komento yksinkertaisen tekstin ilman uutta riviä.

echo_test.sh

#!/bin/bash
#Tulosta ensimmäinen teksti
heitti pois 'Tulosta teksti uudella rivillä'
#Tulosta toinen teksti
heitti pois -n 'Tulosta teksti ilman uutta riviä'

Lähtö:

Suorita komentosarja.

$lyödäecho_test.sh

Seuraava tulos tulee näkyviin yllä olevan komennon suorittamisen jälkeen.

Bashissa on monia muita 'echo' -komennon käyttötarkoituksia. Voit tarkistaa tämän opetusohjelman saadaksesi lisätietoja 'echo' -komennosta.

Mennä huipulle

Muuttujat

Muuttujan ilmoitus on välttämätön osa mitä tahansa ohjelmointikieltä. Bash -muuttujat voidaan ilmoittaa eri tavoin. Kun muuttujaan on määritetty arvo, muuttujan alussa ei käytetä symbolia. '$' -Symbolia käytetään muuttujan nimen kanssa muuttujan arvon lukemisen yhteydessä. Muuttujaa voidaan käyttää päätelaitteesta tai sitä voidaan käyttää missä tahansa bash -komentosarjassa.

Seuraavat komennot ilmoittavat merkkijonomuuttujan nimeltä mystr tietyllä arvolla ja tulosta seuraavaksi muuttujan arvo päätelaitteessa.

$mystr='Pidän bash -ohjelmoinnista'
$heitti pois $ mystr

Lähtö:

Luo bash -tiedosto seuraavalla komentosarjalla. Tässä ilmoitetaan kaksi muuttujaa. Nämä ovat $ a ja $ b . Jos syötetty arvo on tallennettu $ a on yhtä suuri kuin $ b sitten viesti, Luvut ovat yhtä suuret tulostetaan muuten Luvut eivät ole samanarvoisia tulostetaan.

var.sh

#!/bin/bash
heitti pois 'Anna numero'
lukeakohteeseen
b=100
jos [[ $ a -ekv $ b ]]
sitten
heitti pois 'Luvut ovat yhtä suuret'
muu
heitti pois 'Luvut eivät ole yhtä suuret'
olla

Lähtö:

Suorita komentosarja.

$lyödävar.sh

Yllä oleva komento suoritetaan kaksi kertaa arvoilla 56 ja 100. Seuraava tulos tulee näkyviin.

Jos haluat tietää lisää bash -muuttujista, voit tarkistaa tämä opetusohjelma .

Mennä huipulle

Ehdollinen lausunto

Kuten toinenkin ohjelmointikieli, voit käyttää ehdollista lauseketta bashissa. ' Jos-sitten-muuta 'Ja' tapaus Lausuntoja käytetään pääasiassa ehtolausekkeiden toteuttamiseen millä tahansa ohjelmointikielellä. Ehdollisen lausekkeen käyttö käyttämällä 'jos' lausunto näkyy tämän opetusohjelman tässä osassa. Luo bash -tiedosto seuraavalla komentosarjalla, jossa käytetään ehdollista lauseketta. Tässä kaksi arvoa otetaan käyttäjältä syötteenä ja tallennetaan muuttujiin, $ koodi ja $ ikä . 'If' -lausetta käytetään tarkistamaan arvo $ ikä on suurempi tai yhtä suuri kuin 18 ja arvon $ koodi On 1100 . Jos molemmat ehdot täyttyvät, viesti Olet oikeutettu näkemään elokuvan tulostetaan muuten Et ole oikeutettu katsomaan elokuvaa tulostetaan.

cond.sh

#!/bin/bash

heitti pois 'Anna koodi'
lukeakoodi
heitti pois Anna ikäsi
lukeaikä

jos [[ $ ikä -antaa 18 && $ koodi -ekv '1100' ]]
sitten
heitti pois 'Sinulla on oikeus nähdä elokuva'
muu
heitti pois 'Sinulla ei ole oikeutta nähdä elokuvaa'
olla

Lähtö:

Suorita komentosarja.

$lyödäcond.sh

Seuraava tuloste tulee näkyviin, kun eri tuloarvot on otettu. 1100 annetaan koodina ja 5 annetaan ikänä ensimmäisen suorituksen yhteydessä ja jos ehto palauttaa epätosi näille arvoille. 1100 annetaan koodina ja 45 annetaan ikänä toiselle suoritukselle, joka palauttaa arvon true jos ehto.

Jos haluat tietää lisää bash -ehdollisesta lausunnosta, voit tarkistaa tämän opetusohjelman.

Mennä huipulle

Silmukat

Kun joidenkin komentosarjan osien on suoritettava useita kertoja, silmukkaa käytetään tehtävän suorittamiseen. Bash tukee kolmen tyyppisiä silmukkailmoituksia kuten muutkin kielet. Nämä ovat silmukoita varten ja niiden aikana. Ohjelmointivaatimusten perusteella komentosarjassa käytetään tiettyä silmukkaa. Näiden kolmen tyyppisten silmukoiden käyttö on esitetty tässä osassa yksinkertaisilla esimerkeillä.

Käytetään silmukassa

Luo bash -tiedosto seuraavalla komentosarjalla jossa ' varten ' silmukkaa käytetään iterointiin. 'puolesta' silmukkaa käytetään pääasiassa dataluettelon tai matriisin toistamiseen. Tässä käytetään arkipäivän nimen luetteloa ja jokainen viikonpäivän nimi toistetaan käyttämällä silmukkaa. 'jos' lausetta käytetään tietyn viestin tulostamiseen arkipäivän nimen perusteella.

for.sh

#Lue viikonpäivän nimi jokaisessa silmukan iteraatiossa
vartenpäiväsisäänmaanantai tiistai keskiviikko torstai perjantai lauantai sunnuntai
tehdä

#Tarkista, että viikonpäivän nimi on maanantai tai torstai
jos [[ $ päivä=='Maanantai' || $ päivä=='Torstai' ]]
sitten
heitti pois 'Kokous käynnissä$ päiväklo 9.30 '

#Tarkista arkipäivän nimi tiistaina tai keskiviikkona tai perjantaina
elif [[ $ päivä=='Tiistai' || $ päivä=='Keskiviikko' || $ päivä=='Perjantai' ]]
sitten
heitti pois 'Koulutus käynnissä$ päiväklo 11.00
muu

#Tulosta 'Loma' muille päiville
heitti pois ''$ päiväon loma '
olla
tehty

Lähtö:

Suorita komentosarja.

$lyödäfor.sh

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Jos haluat tietää enemmän bash for loop -sovelluksesta, voit tarkistaa tämän opetusohjelman.

Käyttämällä while -silmukkaa

Luo bash -tiedosto seuraavalla komentosarjalla jossa ' kun ` silmukkaa käytetään iterointiin. Tämä skripti tulostaa ne numerot 1-20, jotka ovat parillisia ja jaettavissa viidellä. $ laskuri muuttujaa käytetään ohjaamaan silmukan iteraatiota ja tämän muuttujan arvoa lisätään yhdellä jokaisella iteroinnilla. Kun 'jos' ehto palaa tosi, ja se tulostaa arvon $ laskuri .

#!/bin/bash

#Tulosta viesti
heitti pois 'Tulosta parilliset ja jaolliset luvut'

#Alusta laskuri
laskuri=1

#Toista silmukkaa, kunnes $ -laskurin arvo on pienempi tai yhtä suuri kuin 20
sillä aikaa [ $ laskuri -he kaksikymmentä ]
tehdä

#Tarkista, että $ -laskuri on jaollinen 2: lla ja 5: llä
jos [[ $ laskuri%2-ekv 0 && $ laskuri%5-ekv 0 ]]
sitten
#Tulosta $ -laskuri ilman uutta riviä
heitti pois ''$ laskuri''
olla

#Indrement $ -laskuri yhdellä
((laskuri ++))
tehty
heitti pois 'Tehty'

Lähtö:

$lyödäkun taas. sh

Vain numeroita 1-20 on parillisia ja jaettavissa viidellä. Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Jos haluat tietää enemmän bashin käytöstä samalla ' silmukka, voit tarkistaa tämä opetusohjelma .

Käytetään silmukkaan asti

Luo bash -tiedosto seuraavalla komentosarjalla jossa ' asti ' silmukkaa käytetään iterointiin. Tämä skripti tulostaa kaikki parittomat numerot 0-20. $ n muuttujaa käytetään tässä komentosarjassa silmukan toistamiseen.

kunnes. sh

#!/bin/bash

#Alusta muuttuja n
n=kaksikymmentä

#Toista silmukkaa, kunnes $ n arvo on suurempi kuin 0
siihen asti kun [ $ n -Lt 0 ]
tehdä

#Tarkista, että n: n arvo on pariton
jos [[ $ n%2-gt 0 ]]
sitten
heitti pois $ n
olla

#Korota n: n arvoa yhdellä
((n=$ n-1))
tehty

Lähtö:

Suorita komentosarja.

$lyödäkunnes. sh

Skripti tulostaa kaikki parilliset luvut 20: stä 1. Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Mennä huipulle

Toiminnot

Kun koodilohkon täytyy suorittaa useita kertoja komentosarjassa, toimintoa käytetään tehtävän suorittamiseen. Sinun on kutsuttava funktiota nimeltä vain silloin, kun funktiossa määritetyn komentosarjan on suoritettava monta kertaa sen sijaan, että lisättäisiin sama komentosarja useita kertoja. Aloitus- ja lopetuskulmaa käytetään funktion nimen kanssa funktion ilmoittamiseen bash -skriptissä. Funktio voidaan kutsua vain funktion nimellä bashissa. Bash ei tue funktion argumenttia kuten toinen standardi ohjelmointikieli. Mutta arvo voidaan siirtää bash -funktiolle eri tavalla, joka on esitetty tässä osiossa. Arvo voidaan palauttaa funktiosta palautuslausekkeen kanssa tai ilman palautuslausetta.

Luo bash -tiedosto seuraavalla komentosarjalla tietääksesi, miten funktiot voidaan julistaa ja kutsua bash -komentosarjassa. Käsikirjoituksessa on ilmoitettu kolme toimintoa. Ensimmäinen toiminto julkaistaan ​​yksinkertaisen viestin tulostamiseksi, Bash -ohjelmointi aloittelijalle . Toinen funktio julistetaan antamaan merkkijonoarvo muuttujalle, $ return_str joka tulostaa, Opi bash -ohjelmointi LinuxHintin avulla toiminnon kutsumisen jälkeen. Kolmas funktio julistetaan lukemaan argumentin arvo ympyrän sädeksi, joka annetaan funktion kutsumishetkellä. Tässä, paikallinen käytetään argumentin arvon lukemiseen. Tämä toiminto laskee ympyrän alueen säteen arvon perusteella käyttämällä kaavaa, πr2 ja tulosta laskettu alueen arvo.

func.sh

#!/bin/bash

#Ilmoita yksinkertainen toiminto
toimintoprint_message()
{
heitti pois 'Bash -ohjelmointi aloittelijalle'
}

#Declare -funktio merkkijonoarvon palauttamiseksi
toimintoret_strdata()
{
#Alusta muuttuja merkkijonolla
return_str='Opi bash -ohjelmointi LinuxHintin avulla'
}

#Declare -funktio argumentin arvon lukemiseksi
toimintolaske_alue()

#Lue hyväksytyn argumentin arvo
paikallinen säde=$ 1
alueella= $(heitti pois $ säteellä*$ säteellä*3.14

#Soita toiminto tulostaaksesi yksinkertaisen viestin
print_message

#Soita funktio, joka määrittää merkkijonon arvon muuttujalle
ret_strdata

#Tulosta muuttujan arvo
heitti pois $ return_str

#Lue sädearvo
heitti pois 'Kirjoita säteen arvo'
lukeatyö

#Soita funktiolle sädearvo
laske_alue$ rad

Lähtö:

Suorita komentosarja.

$lyödäfunc.sh

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Kaksi ensimmäistä riviä tulostetaan kutsumalla toimintoja, print_message () ja ret_strdata () . Viimeinen rivi tulostuu kutsumalla toimintoa, laske_alue () syötetyn säteen arvolla.

Jos haluat tietää merkkijonon palauttamisesta bash -funktiosta, voit tämä opetusohjelma .

Mennä huipulle

Ohjelmien kutsuminen komentosarjassa

Voit käyttää monentyyppisiä komentoja kutsuaksesi muita ohjelmia missä tahansa bash -komentosarjassa, kuten lähde, bash, eval, toteuttaja , jne. Oletetaan kolme bash -tiedostoa, add.sh , vähennä.sh, kerro.sh ja jaa.sh luotu suorittamaan yhteen-, vähennys-, kerto- ja jakolasku. Tässä, vähennä.sh ja jako.sh lue komentorivin argumentit. Kaikkien näiden neljän tiedoston käsikirjoitus on annettu alla.

add.sh

#!/bin/bash
kohteeseen=60
b=40
((tulos=$ a+$ b))
heitti pois 'Lisäys$ a+$ b=$ tulos''

subract.sh

#!/bin/bash
kohteeseen=$ 1
b=2 dollaria
((tulos=$ a-$ b))
heitti pois 'Vähennys$ a-$ b=$ tulos''

kerro.sh

#!/bin/bash
((tulos=$ 1*2 dollaria))
heitti pois '1 ja 2 dollarin kertolasku on$ tulos''

jaa.sh

#!/bin/bash
kohteeseen=$ 1
b=2
((tulos=$ a/$ b))
heitti pois 'Jakautuminen$ akäyttäjältä$ bOn$ tulos''

Luo bash -tiedosto nimeltä callpro.sh Seuraavalla skriptillä voit soittaa mainituille bash -tiedostoille käyttämällä lähde-, bash-, eval- ja exec -komentoja. Sinun on määritettävä suoritusoikeus edellä mainituille neljälle tiedostolle ennen seuraavan komentosarjan suorittamista. `lähde` -komentoa käytetään soittamaan add.sh tiedosto. `bash` -komentoa käytetään subtract.sh -tiedoston suorittamiseen. `eval` -komentoa käytetään multiply.sh -tiedoston suorittamiseen. Kaksi syöttöarvoa lähetetään komentorivin argumentteina komennolle 'eval'. Viimeinen komento on exec -komento, joka toimii vain absoluuttisen polun kanssa. Tätä varten skriptissä annetaan divide.sh -tiedoston koko polun nimi.

callpro.sh

#!/bin/bash
käsikirjoitus 1='add.sh'
käsikirjoitus 2='vähennä.sh'
käsikirjoitus 3='multiply.sh'
käsikirjoitus 4='/home/fahmida/code/divide.sh'

lähde ''$ script1''

lyödä $ script2 viisikymmentä kaksikymmentä

heitti pois 'Anna arvon arvo'
lukeakohteeseen
heitti pois 'Anna b: n arvo'
lukeab
eval lyödä $ script3 $ a $ b
toteuttaja $ script4 30

Lähtö:

Suorita komentosarja.

$lyödäcallpro.sh

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Mennä huipulle

Valikkojen luominen

Bashissa on hyödyllinen komento luoda yksinkertainen valikko, jota kutsutaan 'valitse' komento. Tällä komennolla voidaan luoda erityyppisiä valikoita. Tällä komennolla luodaan valikko tiettyä tietoluetteloa. Luo bash -tiedosto seuraavalla koodilla nähdäksesi sen käytön 'valitse' komento valikon luomiseksi. Tässä esimerkissä viiden kohteen luettelo tulostetaan valikona ja kehottaa käyttäjää valitsemaan minkä tahansa kielen luettelosta. Valittu arvo tallennetaan muuttujaan, $ kieli joka tulostetaan myöhemmin yhdistämällä muu merkkijono. Käsikirjoitus pyytää jatkuvasti kielen valintaa, kunnes käyttäjä painaa 6 lopettaa käsikirjoituksesta.

menu.sh

#!/bin/bash

#Tulosta viesti käyttäjälle
heitti pois 'Valitse suosikkikielesi'

# Määritä valikkokohteen luettelo
valitseKielisisäänC# Java PHP Python Bash Poistu
tehdä
#Tulosta valittu arvo
jos [[ $ kieli=='Poistu' ]]
sitten
poistua 0
muu
heitti pois 'Valittu kieli on$ kieli''
olla
tehty

Lähtö:

Suorita komentosarja.

$lyödämenu.sh

Seuraavan tuloksen mukaan käyttäjä painoi näppäintä 3 ensimmäistä kertaa PHP: n tulostamisen yhteydessä ja näppäintä 6 toisen kerran, joka päättyi komentosarjasta.

Jos haluat tietää lisää bash -valikon luomisesta 'select' -toiminnolla, voit käydä tässä opetusohjelmassa.

Mennä huipulle

Komentorivin käsittely

Joskus meidän on annettava syöttöarvoja suoritettaessa komentosarjaa komentoriviltä. Tämä tehtävä voidaan suorittaa kahdella tavalla bashissa. Yksi tapa on käyttää argumenttimuuttujia ja toinen tapa käyttää getopts -funktiota. Tässä osassa näkyy komentorivin syötetietojen lukeminen päätelaitteesta argumenttimuuttujan avulla.

Luo bash -tiedosto seuraavalla komentosarjalla nähdäksesi komentorivin argumentin lukemisen käytön. Tämä skripti lukee kolme komentoriviargumenttia, jotka tallennetaan muuttujiin $ operand1, $ operand2 ja $ operator. Jotta komentosarja voidaan suorittaa oikein, ensimmäisen ja kolmannen argumentin arvon on oltava luku ja toisen argumentin arvon on oltava jokin neljästä aritmeettisesta operaattorista ('+', '-', '/', 'x'). jos lauseke tarkistaa $ -operaattorin arvon ja suorittaa operaation operaattorin perusteella ja tulostaa arvon.

cl1.sh

#!/bin/bash

#Tulosta argumenttimuuttujat
heitti pois 'Argumentin arvot ovat: $ 1 $ 2 $ 3'

# Säilytä argumenttiarvot
operandi 1=$ 1
operandi 2=3 dollaria
operaattori=2 dollaria

#Tarkista aritmeettinen operaatio toisen komentoargumentin arvosta
jos [[ $ operaattori=='+' ]]
sitten
((tulos=$ operandi 1+$ operandi 2))
elif [[ $ operaattori=='-' ]]
sitten
((tulos=$ operandi 1-$ operandi 2))
elif [[ $ operaattori=='x' ]]
sitten
((tulos=$ operandi 1*$ operandi 2))
elif [[ $ operaattori=='/' ]]
sitten

((tulos=$ operandi 1/$ operandi 2))
olla

# tulosta tulos
heitti pois -Ja 'Tulos on =$ tulos''

Lähtö:

Suorita komentosarja.

$lyödäcl1.sh

Käsikirjoitus suoritetaan neljä kertaa neljän tyyppisille aritmeettisille operaattoreille. Argumenttien arvoille tulee seuraava tulos, 6 + 3, 6-3, 6 x 3 ja 6/3 .

Argumenttien arvot voidaan välittää bash-nimiparilla. Luo bash -tiedosto seuraavalla komentosarjalla näyttääksesi argumentin arvojen lukemisen nimen kanssa. Skripti lukee kaksi argumenttimuuttujaa. Nimi -argumentin arvot tulostetaan komentosarjan ensimmäiseen lauseeseen. Seuraavaksi for -silmukkaa käytetään iteroimaan taulukko, joka sisältää komentoriviargumenttien arvot. Jokainen taulukon elementti on erotettu avain-arvo-pariksi käyttämällä 'cut' -komentoa. Seuraavaksi tapauslausumaa käytetään tietyn viestin tulostamiseen avaimen arvon perusteella.

cl2.sh

. #! /olen/lyödä

#Tulosta argumenttimuuttujat
heitti pois 'Argumentin arvot ovat: $ 1 $ 2'

#Lue jokainen argumentti erikseen käyttämällä silmukkaa
vartenvihainensisään '[email protected]'
tehdä

#Erota argumentin nimi ja arvo
näppäintä= $(heitti pois $ arg | leikata -f1 -d=)
arvo= $(heitti pois $ arg | leikata -f2 -d=)

#Tulosta viesti argumentin nimen perusteella
tapaus $ -avain sisään
nimi) heitti pois 'Oppilaan nimi =$ arvo'';;
merkki) heitti pois 'Saatu merkki =$ arvo'' ;;
*)
esac
tehty

Lähtö:

Suorita komentosarja seuraavilla komentoriviargumenteilla.

$lyödäcl2.shnimi= Abir Hossainmerkki=90

Edellä olevissa komennoissa on kaksi komentoriviargumenttia. Nämä ovat nimi = Abir Hossain ja merkki = 90 . nimi ja merkit komentosarja erottaa ne ja kaksi arvoa tulostetaan tulostuksen alustamisen jälkeen.

Käsitellään komentoriviargumentteja käyttämällä nousuja toimintoa ei käsitellä tässä opetusohjelmassa. Jos haluat tietää komentorivin käsittelystä käyttämällä nousuja toiminto, voit vierailla tämä opetusohjelma .

Mennä huipulle

Aritmeettinen

Aritmeettisten toimintojen tekeminen on yleinen vaatimus mille tahansa ohjelmointikielelle. Bash suorittaa aritmeettisen operaation eri tavalla kuin toinen tavallinen ohjelmointikieli. Aritmeettisia toimintoja bashissa on useita tapoja. Tässä osassa esitetään yksi yksinkertaisista tavoista suorittaa aritmeettinen operaatio. Luo bash -tiedosto seuraavalla komentosarjalla. Tässä skriptissä esitetään neljä aritmeettista operaatiota. Yksinkertainen summaus- ja jakotoiminto esitetään käyttämällä komentosarjan alussa kaksoissulkeita. Seuraavaksi esivalinta esitetään. Lopuksi tapa käyttää pikakirjoitusoperaattoria näkyy komentosarjan viimeisessä osassa.

arith.sh

#!/bin/bash
# Laske summa
tulos= $((viisikymmentä+25))
# Tulosta summausarvo
heitti pois 'summa =$ tulos''

# Laske jako
tulos= $((viisikymmentä/25))
# Tulosta jakoarvo
heitti pois 'jako =$ tulos''

# Määritä arvo N: lle
N=10
# Tehdään esiasetus
((--N))
# Tulosta arvo N
heitti pois 'Arvo vähennyksen jälkeen =$ N''

# Pikavalintaoperaattorin käyttö
((N +=10 ))
# Tulosta arvo N
heitti pois 'Arvo lisäyksen jälkeen 10 =$ N''

Lähtö:

Suorita komentosarja.

$lyödäarith.sh

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Kaikki aritmeettiset toiminnot suoritetaan käyttämällä kaksoissulkeita tässä yllä olevassa skriptissä. Mutta voit käyttää ' antaa ',' lauseke 'Ja' bc 'Komento suorittaa laskutoimitus bashissa. Jos haluat tietää lisää näistä komennoista bash -aritmeettisten toimintojen suorittamiseksi, voit käydä tässä opetusohjelmassa.

Mennä huipulle

Jono manipulointi

Monenlaisia ​​tehtäviä voidaan tehdä bash -merkkijonotiedoilla. Jotkut yhdistävät merkkijonon, vertaavat merkkijonoa, jakavat merkkijonon, vaihtavat merkkijonon kirjainkokoa jne. Jousitoimintojen suorittamiseen ei ole sisäänrakennettuja merkkijonotoimintoja, kuten muut bashin vakiokielet. Joitakin yleisiä merkkijonon käsittelyjä käsitellään tämän opetusohjelman osassa.

Yhdistävä merkkijono

Kahden tai useamman merkkijonon yhdistämistä kutsutaan merkkijonon yhdistämiseksi. Merkkijono yhdistetään bashiksi asettamalla yksi toisensa jälkeen. Luo bash -tiedosto seuraavalla komentosarjalla näyttääksesi merkkijonon yhdistämisen käytön. Kaksi merkkijonomuuttujaa alustetaan ja tulostetaan muuttujien yhdistämisen jälkeen. Tässä, sisältö $ merkkijono1 ja $ string2 yhdistetään ja tulostetaan.

concat.sh

#!/bin/bash

#Alusta ensimmäinen merkkijonomuuttuja
merkkijono 1='Minä pidän '
#Alusta toinen merkkijonomuuttuja
merkkijono2='Bash -ohjelmointi'
#Tulosta molempien merkkijonojen yhdistämisen jälkeen
heitti pois ''$ merkkijono1$ string2''

Lähtö:

Suorita komentosarja.

$lyödäconcat.sh

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Voit oppia lisää merkkijonon yhdistämisestä tästä opetusohjelmasta.

Mennä huipulle

Merkkijonon vertailu

Bash käyttää erityyppisiä operaattoreita vertaamaan merkkijonotietoja. Luo bash -tiedosto seuraavalla komentosarjalla näyttääksesi kuinka kahden merkkijonon tietoja verrataan. Merkkijonon arvo otetaan komentosarjan syötteeksi, jota verrataan toiseen merkkijonoon. Jos arvo vastaa viestiä, Tykkäät Pythonista tulostetaan muuten Tykkäät PERL: stä tulostetaan.

vertaa. sh

#!/bin/bash
heitti poisSyötä mikä tahansa merkkijonon arvo
lukeateksti

#Tarkista, että syötetyt tiedot vastaavat Pythonia
jos [ $ teksti=='Python' ];sitten
heitti pois 'Pidät Pythonista.'
muu
heitti pois 'Pidät PERListä'
olla

Lähtö:

Suorita komentosarja.

$lyödävertaa. sh

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen, kun syöttöarvo on 'PERL'.

Voit tietää lisää merkkijonojen vertailusta tämä opetusohjelma .

Jakava merkkijono

Bashissa ei ole sisäänrakennettua jakotoimintoa merkkijonotietojen jakamiseen. Merkkijonotiedot voidaan jakaa useilla eri tavoilla bashissa erityyppisten erotinten perusteella. Luo bash -tiedosto seuraavalla komentosarjalla näyttääksesi kuinka merkkijonotiedot voidaan jakaa bash -tiedostoon. Merkkijonoarvo otetaan syötteeksi. Tämä komentosarja jakaa arvon $ teksti avaruuden perusteella. Tässä, IFS muuttujaa käytetään erottimen asettamiseen. 'lukea' komentoa käytetään tässä tekstiarvon jakamiseen ja arvojen tallentamiseen taulukkoon. varten silmukkaa käytetään taulukon toistamiseen ja kunkin elementin arvon tulostamiseen.

split.sh

#!/bin/bash
#Syötä merkkijonoarvo
heitti poisAnna merkkijonon arvo
lukeateksti
# Aseta erotin
IFS=''
#Jaa $ -tekstin arvo välilyönnin perusteella taulukkoon
lukea -kohteeseenarr<<< ''$ teksti''
# Tulosta taulukon jokainen arvo
vartenarvosisään ''$ {arr [@]}'';
tehdä
printf ''$ arvo n''
tehty

Lähtö:

Suorita komentosarja.

$lyödäsplit.sh

Seuraava tuloste tulee näkyviin syötteen ottamisen jälkeen, Opi Bash -ohjelmointia . Tämä syöttöarvo on kolmen sanan teksti. Jono on siis jaettu kolmeen osaan.

Voit tietää lisää merkkijonojen vertailusta tämä opetusohjelma .

Merkkijonon muuttuva kirjainkoko

Useimmissa komentosarjakielissä on sisäänrakennetut toiminnot merkkijonodatan vaihtamiseksi. Mutta merkkijonodatan tapausta voidaan muuttaa bashissa käyttämällä 'tr' komennolla tai käyttämällä ': Ylempi' ja ':alempi' avainsanoja. Luo bash -tiedosto seuraavalla komentosarjalla tietääksesi tapa muuttaa kirjainta bashissa. Tässä ensimmäinen merkkijonotieto muunnetaan isoiksi käyttämällä '^^' symboli ja toinen merkkijono muutetaan pieniksi kirjaimilla 'tr' komento. 'tr' komento etsii merkkijonosta kaikki isot kirjaimet ja muuntaa merkit pieniksi.

case.sh

#!/bin/bash

#Alusta ensimmäiset merkkijonotiedot
teksti 1='[email protected]'

#Tulosta $ text1: n arvo muuntamalla kaikki merkit isoiksi
heitti pois $ {sähköposti ^^}

#Alusta toisen merkkijonon tiedot
teksti2= 'Bash -ohjelmoinnin perusteet'

#Tulosta $ text2: n arvo muuntamalla kaikki isot kirjaimet pieniksi
heitti pois $ text2 | NS [: ylempi:] [:alempi:]

Lähtö:

Suorita komentosarja.

$lyödäcase.sh

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Voit tietää lisää merkkijonojen vertailusta tämä opetusohjelma .

Mennä huipulle

Merkkijonotietojen lukeminen silmukan kautta

Merkkijonotiedot toimivat merkkijonona mille tahansa ohjelmointikielelle. Miten ' varten -Silmukkaa voidaan käyttää merkkijonotietojen lukemiseen bashissa, tässä osassa. Luo perustiedosto, jossa on seuraava komentosarja, joka lukee merkkijonon kunkin osan käyttämällä silmukkaa.

readstr.sh

#!/bin/bas
# Lue tekstin jokainen sana käyttämällä silmukkaa
vartenarvosisäänBash -ohjelmointivartenaloittelijat
tehdä
heitti pois $ arvo
tehty

Lähtö:

Suorita komentosarja.

$lyödäreadstr.sh

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Voit tietää lisää merkkijonodatan toistamisesta käyttämällä silmukkaa tämä opetusohjelma .

Mennä huipulle

Palautuskoodien palauttaminen komentosarjasta ja toisen skriptin pyytäminen

Yksi bash -skripti voi kerätä palautuskoodeja toisesta komentosarjasta kutsumalla komentosarjan ja käyttämällä '$?' palautusarvon lukemiseksi. Oletetaan bash -tiedosto nimeltä ensin. sh palauttaa koodin suorituksen jälkeen. Luo toinen bash -tiedosto nimeltä toinen. sh ja lisää seuraava komentosarja palauttaaksesi arvon ja suorittaaksesi muita tehtäviä. Molempien tiedostojen koodi on alla. ensin. sh tiedosto soitetaan toinen. sh tiedosto käsikirjoituksen alussa. ensin. sh palauttaa poistumiskoodin syötetyn arvon perusteella. second.sh ottaa koodin vastaan '$?' ja vertaa 1. Jos molemmat arvot ovat samat, se tulostaa, Tulon numero on suurempi kuin 100 , muuten se tulostaa, Tulon numero on pienempi tai yhtä suuri kuin 100 .

ensin. sh

#!/bin/bash

heitti pois 'Anna numeerinen arvo'
lukean

# Tarkista, että tuloarvo on pienempi tai yhtä suuri kuin 100 tai ei
jos [[ $ n -he 100 ]]
sitten
poistua 0
muu
poistua 1
olla

toinen. sh

#! /bin/bash

#Toteuta tiedosto ensin .sh
lyödä 'first.sh'

#Tarkista, että palautuskoodi on 1 tai ei
jos [ $? -ekv 1 ]
sitten
heitti pois 'Tulon numero on suurempi kuin 100'
muu
heitti pois 'Tulon numero on pienempi tai yhtä suuri kuin 100'
olla

Lähtö:

Suorita komentosarja.

$lyödätoinen. sh

Seuraava tulos tulee näkyviin, kun komentosarja suoritetaan 55: llä ja 110: llä kaksi kertaa.

Mennä huipulle

Tiedostojen lukeminen ja kirjoittaminen

Tiedostojen lukeminen ja kirjoittaminen ovat bash -ohjelmoinnin yleisiä vaatimuksia. Bashissa ei ole sisäänrakennettua toimintoa, kuten toista kieltä tiedoston lukemiseen tai kirjoittamiseen. Tiedoston lukemiseen bash -muodossa on useita tapoja. Yleisin tapa lukea tai kirjoittaa tiedosto bashissa on käyttää 'kissa' komento. Mutta tätä komentoa käytetään lukemaan koko tiedoston sisältö kerrallaan. Voit myös lukea minkä tahansa tiedoston rivi riviltä käyttämällä mitä tahansa silmukkaa ja 'lukea' komento. Käyttämällä uudelleenohjausoperaattoria, '>' , voit kirjoittaa tietoja mihin tahansa bash -tiedostoon. Jos haluat liittää tietoja mihin tahansa tiedostoon, sinun on käytettävä '>>' operaattori. Sekä luku- että kirjoitustoiminnot on esitetty tämän osan seuraavassa osassa.

Tiedoston lukeminen bash -muodossa

Luo bash -tiedosto seuraavalla komentosarjalla, jotta voit lukea olemassa olevan tiedoston nimeltä ' hardware.txt ’. Tämän tiedoston sisältö on esitetty alla. Käsikirjoituksessa koko tiedoston sisältö luetaan 'kissa' komento ensin ja seuraava, kun taas silmukkaa käytetään tiedoston lukemiseen rivi riviltä.

hardware.txt

Monitori
Näppäimistö
Hiiri
Skanneri
Tulostin

readfile.sh

#!/bin/bash

heitti pois 'Tiedoston lukeminen kissakomennolla'

# Lue tiedoston sisältö 'cat' -komennolla
sisältö=``kissahardware.txt``
heitti pois $ sisältöä

heitti pois 'Tiedoston lukeminen rivi riviltä silmukan avulla'

# Anna tiedostonimi
Tiedoston nimi='hardware.txt'

# Tiedoston jokainen rivi luetaan silmukan jokaisella iteraatiolla
sillä aikaa lukealinja;
tehdä
# tulosta viiva
heitti pois $ rivi
tehty<$ tiedostonimi

Lähtö:

Suorita seuraavat komennot.

$kissahardware.txt
$lyödäreadfile.sh

Tässä ensimmäinen komento tulostaa tiedoston sisällön, hardware.txt ilman bash -skriptiä ja toinen komento suorittaa komentosarjan readfile.sh ja tulosta tiedoston sisältö kaksi kertaa käyttämällä 'kissa' komento ja 'lukea' komento while -silmukalla. Voit käydä tässä opetusohjelma Lisätietoja tiedoston lukemisesta rivi riviltä.

Kirjoitetaan tiedostoa bash -muodossa

Luo bash -tiedosto seuraavalla komentosarjalla kirjoittaaksesi uutta sisältöä uuteen tiedostoon ja liittääksesi tietoja kyseiseen tiedostoon.

writefile.sh

#!/bin/bash

heitti pois 'Kirjoita tekstiä'
#Lue merkkijonotiedot
lukeastr1
#Lisää syötetietoja tiedostoon ensimmäistä kertaa
heitti pois $ str1 >test.txt

heitti pois 'Kirjoita jokin muu teksti'
#Lue toinen merkkijonotieto
lukeastr2
#Lisää syöttötietoja tiedoston loppuun
heitti pois $ str2 >>test.txt

#Näytä tiedoston koko sisältö
heitti pois ``kissatest.txt``

Lähtö:

Suorita komentosarja.

$lyödäwritefile.sh

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Mennä huipulle

Putket

Putkea käytetään ohjaamaan minkä tahansa komennon ulostulo toiseen komentotuloon. Sitä voidaan käyttää erityyppisten bash -komentojen kesken tietyn tuloksen luomiseksi. Vakiotulo on liitetty Linuxin vakiolähtöön putkella. Sinun on asetettava komento järjestyksessä putki (|) -symbolilla halutun tuloksen saamiseksi. Kaksi tai useampia komentoja voidaan suorittaa yhdessä yhdessä komennossa käyttämällä putkea. Sinun on suoritettava useita komentoja useilla riveillä ilman putkea saman tehtävän suorittamiseksi. Joten putken käyttö on erittäin hyödyllistä monenlaisten tehtävien suorittamiseen lyhyessä muodossa.

syntaksi:

komento 1|komento 2|...

Tässä komennon1 lähtö annetaan komennon2 tulona.

Samantyyppinen tehtävä suoritetaan putkella ja ilman putkea tämän osan seuraavassa osassa. Oletetaan tekstitiedosto nimeltä marks.txt annetaan seuraavien tietojen kanssa.

marks.txt

Asraf CSE-409 79

Kabir CSE-304 95

Keya CSE-101 67

Asraf CSE-304 88

Keya CSE-409 90

Asraf CSE-101 92

Sinun on lajiteltava tiedoston tiedot ja selvitettävä ja tulostettava kaikki oppilaan nimen ”K” merkinnät Joo ' . Voit tehdä tämän tehtävän suorittamalla useita komentoja käyttämättä putkea, joka näkyy seuraavassa osassa. Seuraavat komennot on suoritettava halutun tuloksen saamiseksi. Ensimmäinen komento lajittelee tiedoston. Toinen komento etsii merkinnän 'K Joo ' käyttämällä ` pito `komento ja tallenna ulostulo temp.txt tiedosto. Kolmas komento laskee rivin a kokonaismäärän temp.txt tiedosto käyttämällä 'wc' komento.

$järjestellämarks.txt
$pito 'Keya'marks.txt>temp.txt
$WC -hetemp.txt

Lähtö:

Tiedostossa on kaksi oppilaan merkintää 'Keya'. Joten kun yllä olevat komennot on suoritettu, seuraava tulos tulee näkyviin.

Voit helposti yhdistää yllä olevat kolme komentoa ja saada saman tuloksen suorittamalla yhden komennon putkella, joka näkyy seuraavassa komennossa. Tässä ei tarvita väliaikaista tiedostoa tuloksen saamiseksi. Tässä on `` järjestellä `komento välitetään syötteeksi` pito `komento ja`: n ulostulo pito `komento välitetään syötteeksi 'wc' komento.

$järjestellämarks.txt| pito 'Keya' | WC -he

Lähtö:

Kun yllä olevaa komentoa suoritetaan, saat seuraavan tuloksen kuin edellisen komennon. Komennon tulos on 2.

Mennä huipulle

Johtopäätös:

Hyödyllisimmät ja tarpeellisimmat aiheet bash -komentosarjakielestä yritetään käsitellä tässä opetusohjelmassa. Toivottavasti lukija hyötyy tämän opetusohjelman lukemisen jälkeen ja pystyy kirjoittamaan bash -komentosarjan tehokkaammin.