Bash-skriptit ovat hyödyllisiä tehtävien automatisoinnissa, ja ne sopivat erinomaisesti yksinkertaisten komentorivisovellusten rakentamiseen. Bash-kuori tulkitsee Bash-komentosarjat, joten sinun ei tarvitse asentaa riippuvuuksia kirjoittaaksesi ja ajaaksesi niitä. Bash-komentosarjat ovat myös kannettavia, koska useimmat Unix-pohjaiset käyttöjärjestelmät käyttävät samaa komentotulkkia.

Bash-komentosarjan tuntemus on välttämätöntä jokaiselle kehittäjälle, varsinkin jos työskentelet Unix-pohjaisten järjestelmien kanssa.

Muuttujat Bashissa

Bash-muuttujat kirjainkoolla on merkitystä. Käytä yhtäsuuruusmerkkiä muuttujien ilmoittamiseen (=) nimi vasemmalla ja arvo oikealla:

STATE=Washington

Arvo, jonka tämä ilmoitus määrittää OSAVALTIO on yksittäinen sana. Jos tarvitset arvoasi välilyöntejä, käytä sen ympärillä lainausmerkkejä:

STATE="Pohjois-Arizona"

Sinun on käytettävä dollarimerkkiä ($) etuliite viitemuuttujiin muissa muuttujissa tai lausekkeissa:

STATE=Washington
LOCATION="Sijaintini on $STATE"

Tulostusarvot Bashissa

instagram viewer

Voit tulostaa muuttujia Bashissa useilla tavoilla. Voit käyttää kaiku komento peruslähtöön tai C-tyyliin printf komento merkkijonojen muotoiluun.

STATE=Washington
LOCATION="Sijaintini on $STATE"
kaiku$LOCATION

Ilmoituksen jälkeen OSAVALTIO muuttuja, tämä skripti määrittää SIJAINTI viittaamalla STATE. If käyttää sitten kaikua LOCATION-muuttujan lopullisen arvon tulostamiseen.

The printf avainsanan avulla voit käyttää muotoiluverbejä tietojen tulostamiseen. Merkkijonomuotoiluverbit ovat samanlaisia ​​kuin C- ja Go-verbit, mutta verbejä on rajoitetusti.

Verbi Toiminnallisuus
%c tulostaa yksittäisiä merkkejä
%o tulostaa oktadesimaalilukuja
%s tulostaa merkkijonoja kotelosta riippumatta
%x tulostaa pienet heksadesimaalikirjaimet
%X tulostaa isot heksadesimaalikirjaimet
%d tulostaa kokonaislukuja
%e tulostaa tieteellisen käsitteen kelluu pienillä kirjaimilla
%E tulostaa tieteellisen käsitteen kelluu isoilla kirjaimilla
%f tulostaa liukulukuja
%% tulostaa yhden prosenttisymbolin.

Tässä on esimerkki verbin käytöstä Tulosta avainsana.

STATE=Lagos
printf "Sijaintini on %s" $STATE

The printf toiminto korvaisi OSAVALTIO muuttuja asemassa %s verbi, ja tuloste olisi "Sijaintini on Lagos".

Voit kirjoittaa kommentteja bashilla hashilla tai punnalla (#) symboli. Shell ohittaa kommentit automaattisesti.

#!/bin/bash
# STATE=Washington
# LOCATION="Sijaintini on $STATE"

Ei ole monirivisiä kommentteja. Useimmat IDE: t ja tekstieditorit mahdollistavat kommentoinnin Ctrl/Command + vinoviiva (/) -pikanäppäimellä. Sinun pitäisi pystyä käyttämään pikakuvaketta useiden yksirivisten kommenttien luomiseen.

Käyttäjän syötteiden vastaanottaminen Bashissa

Kuten monet muut ohjelmointikielet, voit vastaanottaa käyttäjän syötteitä Bashissa tehdäksesi ohjelmistasi/komentosarjoistasi interaktiivisempia. Voit käyttää lukea komento pyytää käyttäjän syötteitä.

lukea vastaus

Tässä tapauksessa vastaus muuttuja säilyttää käyttäjän syötteen toimituksen yhteydessä.

echo "Mitä sinä haluat?:"
lue vastaus
echo $response

Käyttäjän syöttöpyyntö on uudella rivillä yllä olevassa esimerkissä.

Voit lisätä -n lippu kaiku tulosta lauseke säilyttääksesi rivin, johon käyttäjä syöttää syötteen.

echo -n "Mitä haluat."
lue vastaus
echo $response

Taulukkojen ilmoittaminen Bashissa

Taulukot Bashissa ovat aivan kuten useimmat kielet. Voit ilmoittaa taulukkomuuttujan Bashissa määrittämällä elementit suluissa.

Maat=('USA' 'Venäjä' 'Ukraina', "Englanti", "Taiwan", "Kiina")

Kun taulukkoon päästään viittaamalla muuttujan nimeen, ensimmäinen elementti haetaan. Voit käyttää koko taulukkoa käyttämällä tähtimerkkiä hakemistona.

echo ${Countries[*]}

Voit myös määrittää taulukon indeksin käyttääksesi tiettyä elementtiä. Taulukon indeksi alkaa nollasta.

kaiku "${Countries[4]}"

Ehdolliset lausunnot Bashissa

Bash tarjoaa ehtoja päätöksentekoon ohjelmissa.

Tässä on Bashin if-else-lauseen anatomia. Sinun on käytettävä puolipistettä määrittääksesi ehdon lopun.

jos [[ kunto ]]; sitten
kaiku lausunto 1
elif [[kunto ]]; sitten
kaiku lausunto 2
muu [[kunto ]]; sitten
kaiku lausunto 3
fi

Sinun on lopetettava jokainen jos lausunto kanssa fi avainsana.

jos [ 1 == 2 ]; sitten
kaiku yksi
elif [ 2 == 3 ]; sitten#muuten jos
kaiku kaksi
muu [ 4 > 3 ];
kaiku "oikein, 3"
fi

Voit käyttää tapauslausekkeita Bash-ohjelmissasi käyttämällä tapaus avainsana. Sinun on määritettävä malli ja loput sulkeet ennen lausetta.

CITY=Lagos
tapaus$CITYsisään
"Washington") #kuvio
kaiku "Yhdysvallat" # lausunto
;; #tapauksen loppu
"Lagos" | "Abuja")
kaiku "Nigeria"
;;
"Johannesburg" | "Kapkaupunki")
kaiku "Etelä-Afrikka"
;;
*) # oletuskuvio
kaiku "Antarktis" # oletuslauseke
;;
esac# jutun loppu

Voit määrittää oletuskirjaimen käyttämällä tähtimerkkiä (*) mallina. Tapauslausunnot tulee päättyä merkkiin esac avainsana.

Silmukat Bashissa

Tarpeistasi riippuen voit käyttää while-silmukkaa, alue for-silmukkaa tai C-tyyliä for loop toistuvia operaatioita varten.

Tässä on esimerkki C-tyylisestä for-silmukasta. For-silmukan tulee päättyä merkkiin tehty avainsana, ja sinun on lopetettava for-lause puolipisteeseen ja sen jälkeen tehdä avainsana.

varten ((a = 0; a < 10; a+2)); tehdä
kaiku$a
tehty

Silmukan alue on kätevä tiedostojen käsittelyssä ja monissa muissa toiminnoissa. Sinun on käytettävä sisään avainsanan alue for-silmukalla.

varten i sisään {1..7}; tehdä
kaiku$1
tehty

Tässä on yksinkertainen ääretön silmukka Bashin esittelyyn sillä aikaa silmukat toiminnassa.

nimi=1
sillä aikaa [ 1 - le 5 ] # kun taas 1 < 5
tehdä
kaiku$nimi
tehty

The -le ehtolauseessa on binäärioperaattori alle.

Toiminnot Bashissa

Et tarvitse avainsanoja funktioiden ilmoittamiseen Bashissa. Voit määrittää funktiot nimellä ja sitten suluilla ennen funktion runkoa.

print_working_directory() {
kaiku$ PWD#PWD-komennon kutsuminen komentosarjasta
}
kaiku "Sinä olet sisään $(print_working_directory)"

Funktiot voivat palauttaa muuttujia Bashissa. Kaikki mitä tarvitset on palata avainsana.

print_working_directory() {
palata$ PWD
}

The print_working_directory funktio palauttaa tiedoston työhakemiston.

Voit kirjoittaa Shell-skriptejä muilla kielillä

Bash ei ole ainoa kieli, jolla voit olla vuorovaikutuksessa käyttöjärjestelmäsi kuoren kanssa tai rakentaa komentorivisovelluksia. Voit käyttää monia muita kieliä, kuten Go, Python, Ruby ja Rust.

Monissa käyttöjärjestelmissä on esiasennettu Python3, ja Python on yleinen kieli. Jos tarvitset vielä enemmän toimintoja kuin Bash-skriptit voivat tarjota, harkitse Pythonin käyttöä.