Bash-komentosarjat – Johdatus Bashiin ja Bash-komentosarjaan

Bash-komentosarjat – Johdatus Bashiin ja Bash-komentosarjaan

Bash on komentorivitulkki tai Unix Shell, ja sitä käytetään laajalti GNU/Linux-käyttöjärjestelmässä. Sen on kirjoittanut Brian Jhan Fox. Sitä käytetään oletusarvoisena kirjautumiskuorena useimmissa Linux-jakeluissa. Komentosarjaa käytetään automatisoimaan tehtävien suorittaminen, jotta ihmisten ei tarvitse suorittaa niitä erikseen. Bash-komentosarjat ovat loistava tapa automatisoida erityyppisiä tehtäviä järjestelmässä. Kehittäjät voivat välttää toistuvien tehtävien suorittamisen käyttämällä bash-komentosarjaa.

Bash-komentosarjat tukevat muuttujia, ehdollisia lausekkeita ja silmukoita aivan kuten ohjelmointikielet. Alla on joitain Bash Scripts -sovelluksia -

Sisällysluettelo

Bash-skriptien sovellukset:

  • Tiedostojen käsittely
  • Suorittaa rutiinitehtävät, kuten varmuuskopiointi
  • Automaatio

Bash-skriptien käytön edut on esitetty alla -

Bash-skriptien edut:

  • Se on yksinkertaista.
  • Se auttaa välttämään toistuvia tehtäviä
  • Helppokäyttöinen
  • Usein suoritetut tehtävät voidaan automatisoida
  • Komentosarja voidaan suorittaa yhtenä komentona.

Bash-skriptien haitat on esitetty alla -

Bash-skriptien haitat:

  • Mikä tahansa kirjoitusvirhe voi tulla kalliiksi.
  • Uusi prosessi käynnistettiin lähes jokaiselle suoritetulle komentotulkkikomennolle
  • Hidas suoritusnopeus
  • Yhteensopivuusongelmia eri alustojen välillä

Kuinka kirjoittaa Bash-skriptejä?

Bash-skriptin kirjoittamiseksi noudatamme vaiheita -

  • Ensin luomme tiedoston, jonka tunniste on .sh.
  • Seuraavaksi kirjoitamme sen sisällä olevat bash-skriptit
  • Sen jälkeen annamme sille suoritusluvan.

Voimme käyttää .sh-tunnisteella tiedoston luomiseen ja kirjoittamiseen gedit tekstieditori. Sen käsky tulee olemaan -

gedit scriptname.sh 

Skriptitiedostomme ensimmäinen rivi on -

#!/bin/bash 

Tämä kertoo järjestelmän käyttämään Bashia suorittamiseen. Sitten voimme kirjoittaa omia käsikirjoituksiamme.

Kirjoita muistiin vain yksinkertainen komentosarja, joka tulostaa joitain rivejä terminaaliin. Sen koodi tulee olemaan -

#!/bin/bash echo 'Hello, techcodeview.com' 

Nyt tallennamme tiedoston ja annamme sille suoritusluvan. Käytä tätä varten seuraavaa komentoa -

chmod +x scriptname.sh 

Seuraavan komentosarjan suorittamiseksi käytämme seuraavaa komentoa -

./scriptname.sh 

Tässä on päätekuoren kuvallinen esitys yllä olevien komentojen suorittamisen jälkeen seuraavasti:

Tässä komentosarjatiedoston nimi on gfg.sh.

Nyt voimme myös kirjoittaa monimutkaisempia komentoja Bash-skripteillä. Alla on esimerkki, jossa käytämme ehtolauseketta -

Esimerkkikomentosarja:

#!/bin/bash Age=17 if [ '$Age' -ge 18 ]; then echo 'You can vote' else echo 'You cannot vote' fi 

Lähtö:

You cannot vote 

Tässä on päätekuoren kuvallinen esitys yllä olevan komentosarjan suorittamisen jälkeen seuraavasti:

Yllä olevalla tavalla voimme suorittaa useita Bash-komentoja kerralla.

Tarkastellaan nyt muita Bash-komentosarjaan liittyviä tärkeitä käsitteitä.

Tiedostojen nimet ja käyttöoikeudet

Yllä olevassa esimerkissä olemme tallentaneet tiedoston käyttämällä gfg.sh nimi ja antanut myös suoritusluvan käyttämällä chmod komento. Ymmärrämme nyt, miksi teimme niin.

Bash-skriptejä kirjoitettaessa meidän tulee tallentaa tiedostomme .sh-tunnisteella, jotta Linux-järjestelmä voi suorittaa sen. Kun luomme ensimmäisen kerran .sh-tunnisteella varustetun tiedoston, sillä ei ole suoritusoikeuksia ja ilman suorituslupaa komentosarja ei toimi. Joten meidän pitäisi antaa sille suorituslupa käyttämällä chmod komento.

Bash-skriptin tiedostonimi voi olla mikä tahansa, mutta skriptitiedoston nimeämiseen on suositeltavaa käyttää käärmekirjainta ( my_bash_script.sh ) tai yhdysmerkkejä ( my-bash-script.sh ).

Muuttujat

Voimme käyttää muuttujia bash-komentosarjassa. Alla on esimerkkiohjelma muuttujien käytön ymmärtämiseksi Bash-skripteissä.

Esimerkkikomentosarja:

Name='SATYAJIT GHOSH' Age=20 echo 'The name is $Name and Age is $Age' 

Muuttujien tulos:

The name is SATYAJIT GHOSH and Age is 20 

Joten tässä on ilmoitettu kaksi muuttujaa Nimi ja toinen on Ikä. Nämä muuttujat ovat käytettävissä arvoilla $Name ja $Age. Tämä tarkoittaa, että voimme ilmoittaa muuttujan bash-skriptissä käyttämällä VariableName=Arvo ja pääsee siihen käyttämällä $VariableName. Tässä on päätekuoren kuvallinen esitys yllä olevan komentosarjan suorittamisen jälkeen seuraavasti:

Bash Scriptingissa on kahdenlaisia ​​muuttujia. Perinteisesti, jos muuttuja on ilmoitettu funktion sisällä, se on yleensä a paikallinen muuttuja ja jos se on ilmoitettu ulkopuolella, se on a globaali muuttuja . Bash-komentosarjan tapauksessa tämä käsite on hieman erilainen, tässä mikä tahansa muuttuja, onko se oletuksena kirjoitettu funktion sisään tai sen ulkopuolelle, on globaali muuttuja. Jos haluamme tehdä paikallisen muuttujan, meidän on käytettävä avainsanaa local.

Huomautus: Paras käytäntö on käyttää funktion sisällä aina paikallista muuttujaa tarpeettoman sekaannuksen välttämiseksi.

Alla esimerkki samasta -

Esimerkkikomentosarja:

#!/bin/bash var1='Apple' #global variable myfun(){ local var2='Banana' #local variable var3='Cherry' #global variable echo 'The name of first fruit is $var1' echo 'The name of second fruit is $var2' } myfun #calling function echo 'The name of first fruit is $var1' #trying to access local variable echo 'The name of second fruit is $var2' echo 'The name of third fruit is $var3' 

Paikallisten ja globaalien muuttujien tulos:

The name of first fruit is Apple The name of second fruit is Banana The name of first fruit is Apple The name of second fruit is The name of third fruit is Cherry 

Tässä yllä olevassa esimerkissä var2 on paikallinen muuttuja, joten kun käytämme sitä funktiosta, se toimii hyvin, mutta kun yritämme käyttää sitä funktion ulkopuolella, se antaa meille tyhjän tuloksen ulostulossa.

Toisaalta, toisin kuin ohjelmointikielet, vaikka var3 on määritelty funktion sisällä, se toimii silti globaalina muuttujana ja siihen pääsee käsiksi funktion ulkopuolelta. Alla on terminaalin kuorikuvaus komentosarjan suorittamisen jälkeen -

Tulo ja lähtö

Syöttö ja tulostus ovat peruskäsitteitä shell-skriptauksessa. Skripti voi ottaa yhden tai useamman tulon ja tuottaa myös nollan tai useita lähtöjä. Se voi jopa aiheuttaa joitain virheitä. Ymmärretään tämä esimerkillä -

Esimerkkikomentosarja:

echo 'Enter filename' read filename if [ -e $filename ] then echo '$filename is exits on the directory' cat $filename else cat>$filename echo 'Tiedosto luotu' fi 

Tulon ja lähdön lähtö:

Ensimmäinen kerta:

Enter filename geeks.txt Hello Geek File created 

Toisen kerran:

Enter filename geeks.txt geeks.txt is exits on the directory Hello Geek 

Joten tässä yllä olevassa esimerkissä komentosarja ei löytänyt ensimmäistä kertaa tiedostoa tällä tiedostonimellä, ja else-lohko suoritetaan. Se loi tiedoston ja lisäsi siihen tietoja. Kun suoritamme sen toisen kerran samalla tiedostonimellä, se löytää tiedoston. Eli suoritetaanko if-lohko, joka näyttää tiedoston sisällön. Tiedoston sisällön lukeminen syötetään ja ensimmäisellä kerralla tietojen lisääminen tiedostoon katsotaan tulostetuksi. Täällä olemme käyttäneet > sisällön tallentamiseen tiedostoon. The > merkintää käytetään uudelleenohjaukseen stdout tiedostoon. Toisaalta voimme käyttää 2> merkintä uudelleenohjaamaan stderr, ja &> uudelleenohjata sekä stdout että stderr.

Alla on päätekuoren kuvallinen esitys seuraavan komentosarjan suorittamisen jälkeen -

Toiminnot

Ohjelmoinnissa funktio on koodilohko, joka suorittaa joitakin tehtäviä ja jota voidaan kutsua useita kertoja tehtävien suorittamiseksi. Yksinkertaisin esimerkki funktion käytöstä Bash-komentosarjassa voidaan antaa seuraavasti:

Esimerkkikomentosarja:

#!/bin/bash #It is a function myFunction () { echo Hello World from techcodeview.com } #function call myFunction 

Toimintojen tulos:

Hello World from techcodeview.com 

Yllä oleva esimerkki näyttää toiminnon, joka tulostaa jotain, kun sitä kutsutaan.

Joten perussyntaksi toimintojen kirjoittamiselle Bash-skriptissä on -

Funktioiden syntaksi:

#for defining function_name(){ commands ..... } function_name # for calling 

Tämän lisäksi meillä voi olla myös funktioita, joissa on ohitusargumentteja ja palautusarvoja.

Päätöksenteko

Ohjelmoinnissa päätöksenteko on yksi tärkeimmistä käsitteistä. Ohjelmoija tarjoaa yhden tai useamman ehdon koodilohkon suorittamiselle. Jos ehdot täyttyvät, nämä koodilohkot vain suoritetaan.

Shell-komentosarjassa käytetään kahden tyyppisiä päätöksentekolausekkeita. He ovat -

1. Jos-else lauseke:

Jos muuten lauseke on ehdollinen lause. Sitä voidaan käyttää kahden eri koodin suorittamiseen sen mukaan, täyttyykö annettu ehto vai ei.

If-else-lauseessa on pari lajiketta. He ovat -

  • jos-fi
  • jos-muu-fi
  • jos-elif-else-fi
  • sisäkkäinen jos-else

Yksinkertaisimman syntaksi on

If-else-lauseen syntaksi:

if [ expression ]; then statements fi 

Esimerkkikomentosarja:

Name='Satyajit' if [ '$Name' = 'Satyajit' ]; then echo 'His name is Satyajit. It is true.' fi 

Jos-else-lauseen tulos:

His name is Satyajit. It is true. 

Yllä olevassa esimerkissä ehdon tarkistuksen aikana nimi täsmää ja ehdosta tulee tosi. Näin ollen if-lohkossa oleva koodilohko suoritetaan. Jos nimi ei täsmää, sillä ei ole tulostetta. Alla on päätekuoren kuvallinen esitys seuraavan komentosarjan suorittamisen jälkeen -

2. case-sac-lausunto:

case-sac toimii periaatteessa samalla tavalla kuin kytkinkäsky ohjelmoinnissa. Joskus jos meidän on tarkistettava useita ehtoja, if-lauseiden käyttäminen voi olla monimutkaista. Näinä hetkinä voimme käyttää case-sac -lausetta. Syntaksi on -

Case-sac-lauseen syntaksi:

case $var in Pattern 1) Statement 1;; Pattern n) Statement n;; esac 

Esimerkkikomentosarja:

Name='Satyajit' case '$Name' in #case 1 'Rajib') echo 'Profession : Software Engineer' ;; #case 2 'Vikas') echo 'Profession : Web Developer' ;; #case 3 'Satyajit') echo 'Profession : Technical Content Writer' ;; esac 

Case-sac-lausunnon tulos:

Profession : Technical Content Writer 

Yllä olevassa esimerkissä case-sac-käsky suoritti käskyn, joka on osa sovitettua mallia tässä 'Nimi'. Alla on päätekuoren kuvallinen esitys seuraavan komentosarjan suorittamisen jälkeen -

Merkkijonojen ja numeroiden vertailut

Merkkijonojen vertailu tarkoittaa, että komentotulkkikomentosarjassa voimme tehdä päätöksiä tekemällä vertailuja myös merkkijonojen sisällä. Tässä on kuvaava taulukko, jossa on kaikki operaattorit -

Operaattori Kuvaus
== Palauttaa tosi, jos merkkijonot ovat yhtä suuret
!= Palauttaa tosi, jos merkkijonot eivät ole yhtä suuret
-n Palauttaa tosi, jos testattava merkkijono ei ole tyhjä
-Kanssa Palauttaa tosi, jos testattava merkkijono on tyhjä

Aritmeettisia operaattoreita käytetään aritmeettisten ehtojen tarkistamiseen. Kuten pienempi kuin, suurempi kuin, yhtä suuri kuin jne. Tässä on kuvaava taulukko, jossa on kaikki operaattorit –

Operaattori Kuvaus
-ekv Yhtä suuri
-ge Suurempi kuin tai yhtä suuri
-gt Suurempi kuin
- Pienempi tai yhtä suuri
-lt Vähemmän kuin
- On Ei tasa-arvoinen

Alla on yksinkertainen esimerkki samasta -

Esimerkkikomentosarja:

if [ 10 -eq 10 ];then echo 'Equal' fi if [ 'Geeks' == 'Geeks' ]; then echo 'same' #output else echo 'not same' fi 

Merkkijonojen ja numeeristen vertailujen tulos:

Equal same 

Tässä esimerkissä ensimmäinen (-eq ) on numeerinen vertailu, joka tarkistaa tasa-arvon. Toinen ( == ) on myös tasa-arvon tarkistus, mutta merkkijonoissa. Alla on päätekuoren kuvallinen esitys seuraavan komentosarjan suorittamisen jälkeen -

Opimme lisää tästä käsitteestä seuraavissa artikkeleissa.

Johtopäätös

Tässä artikkelissa käsittelemme Bash-komentosarjaa, jolla on tärkeä rooli tehtävien automatisoinnissa Linux-ympäristössä. Komentorivitulkina Bash tarjoaa kehittäjille yksinkertaisen ja helppokäyttöisen skriptien luomisen, jotka virtaviivaistavat rutiinitoimintoja, käsittelevät tiedostoja ja suorittavat monimutkaisia ​​tehtäviä. Vaikka Bash-komentosarjat voivat parantaa tuottavuutta välttämällä toistuvia toimia ja suorittamalla komentosarjoja tehokkaasti, niissä on myös huomioita, kuten käyttöoikeuksien hallinta, muuttujien käsittely ja päätöksentekorakenteiden käyttöönotto. Hallitsemalla Bash-komentosarjan käyttäjät voivat hyödyntää sen tehoa työnkulkunsa optimointiin ja järjestelmänhallintatehtävien parantamiseen Linux-alustoilla.