Android

Bash jos..seuraava lause

NYSTV - The Wizards of Old and the Great White Brotherhood (Brotherhood of the Snake) - Multi Lang

NYSTV - The Wizards of Old and the Great White Brotherhood (Brotherhood of the Snake) - Multi Lang

Sisällysluettelo:

Anonim

Päätöksenteko on yksi tietokoneohjelmoinnin perusteellisimmista käsitteistä. Kuten millä tahansa muulla ohjelmointikielellä, if , if..else , if..elif..else ja if..else , if Bash-lauseita voidaan käyttää koodin suorittamiseen tietyn ehdon perusteella.

Tässä opetusohjelmassa käydään läpi Bash if -käskyjen perusteet ja näytämme kuinka käyttää niitä kuoriskripteissäsi.

if lausunto

Bash, if ehdoilla voi olla erilaisia ​​muotoja. Perusteellisin, if lausunto on seuraavassa muodossa:

if TEST-COMMAND then STATEMENTS fi

if lause alkaa if avainsanalla, jota seuraa ehdollinen lauseke ja then avainsana. Lause päättyy fi avainsanalla.

Jos TEST-COMMAND arvioitu arvoksi True , STATEMENTS suoritetaan. Jos TEST-COMMAND palauttaa False , mitään ei tapahdu, STATEMENTS ohitetaan.

Yleensä on hyvä käytäntö sisennä koodisi ja erottaa koodilohot tyhjillä riveillä. Useimmat ihmiset valitsevat joko 4- tai 2-tilaisen sisennyksen. Lisäykset ja tyhjät rivit tekevät koodista paremmin luettavan ja järjestetyn.

Katsotaanpa seuraavaa esimerkki-skriptiä, joka tarkistaa onko annettu luku suurempi kuin 10.

#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." fi

Tallenna koodi tiedostoon ja aja se komentoriviltä:

bash test.sh

Skripti pyytää sinua antamaan numeron. Jos esimerkiksi kirjoitat 15, testikomento arvioidaan true koska 15 on suurempi kuin 10, ja echo komento then lauseen sisällä suoritetaan.

The variable is greater than 10.

if..else lausunto

Bash if..else on seuraavassa muodossa:

if TEST-COMMAND then STATEMENTS1 else STATEMENTS2 fi

Jos TEST-COMMAND arvioitu arvoksi True , STATEMENTS1 suoritetaan. Muussa tapauksessa, jos TEST-COMMAND palauttaa False , STATEMENTS2 suoritetaan. Lausunnossa voi olla vain yksi else lauseke.

Lisäämme else lauseke edelliseen esimerkki-skriptiin:

#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." else echo "The variable is equal or less than 10." fi

if..elif..else Statement

Bash if..elif..else on seuraavassa muodossa:

if TEST-COMMAND1 then STATEMENTS1 elif TEST-COMMAND2 then STATEMENTS2 else STATEMENTS3 fi

Jos TEST-COMMAND1 arvioitu arvoksi True , STATEMENTS1 suoritetaan. Jos TEST-COMMAND2 arvioitu arvoksi True , STATEMENTS2 suoritetaan. Jos yksikään testikomennoista ei arvioidu True , STATEMENTS2 suoritetaan.

Lausekkeessa voi olla yksi tai useampi elif lauseke. Muut lauseke on valinnainen.

Olosuhteet arvioidaan peräkkäin. Kun ehto palaa True , jäljellä olevia ehtoja ei suoriteta ja ohjelman hallinta siirtyy if lauseiden loppuun.

Lisäämme elif lauseke edelliseen skriptiin:

#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." elif] then echo "The variable is equal to 10." else echo "The variable is less than 10." fi

Sisältää, if lausunnot

Bash antaa sinun pesätä if lauseita if lauseiden sisällä. Voit sijoittaa useita if lauseita toisen if lauseen sisälle.

Seuraava komentosarja kehottaa sinua syöttämään kolme numeroa ja tulostaa suurimman numeron kolmesta numerosta.

#!/bin/bash echo -n "Enter the first number: " read VAR1 echo -n "Enter the second number: " read VAR2 echo -n "Enter the third number: " read VAR3 if] then if] then echo "$VAR1 is the largest number." else echo "$VAR3 is the largest number." fi else if] then echo "$VAR2 is the largest number." else echo "$VAR3 is the largest number." fi fi

Tulos näyttää tältä:

Enter the first number: 4 Enter the second number: 7 Enter the third number: 2 7 is the largest number. Sisäkkäisten if lauseiden sijasta on yleensä tehokkaampaa käyttää tapauslausetta.

Useita ehtoja

Loogisen OR ja AND operaattorien avulla voit käyttää useita ehtoja if lauseissa.

Tässä on toinen skriptin versio, jolla tulostetaan suurin numero kolmesta numerosta. Tässä versiossa käytämme sisäkkäisten if lauseiden sijasta loogista AND ( && ) -operaattoria.

#!/bin/bash echo -n "Enter the first number: " read VAR1 echo -n "Enter the second number: " read VAR2 echo -n "Enter the third number: " read VAR3 if] &&] then echo "$VAR1 is the largest number." elif] &&] then echo "$VAR2 is the largest number." else echo "$VAR3 is the largest number." fi

Testioperaattorit

Bash- test testikomento on yksi seuraavista syntaksimuodoista:

test EXPRESSION]

Testilausekkeen estämiseksi käytä loogista NOT ( ! ) -Operaattoria. Kun vertaat merkkijonoita, käytä aina yhden- tai kaksinkertaisia ​​lainausmerkkejä sanojen jakautumisen tai globaalien ongelmien välttämiseksi.

Alla on joitain yleisimmin käytettyjä operaattoreita:

  • -n VAR - Totta, jos VAR n pituus on suurempi kuin nolla. -z VAR - Totta, jos VAR on tyhjä. STRING1 = STRING2 - Totta [STRING1 ja STRING2 ovat yhtä suuret. STRING1 != STRING2 - Todelliset STRING1 ja STRING2 eivät ole samanarvoisia. INTEGER1 -eq INTEGER2 - True INTEGER1 ja INTEGER2 ovat yhtä suuret. INTEGER1 -gt INTEGER2 - Todellinen INTEGER1 on suurempi kuin INTEGER2. INTEGER1 -lt INTEGER2 - Todellinen INTEGER1 on pienempi kuin INTEGER2. INTEGER1 -ge INTEGER2 - Todellinen INTEGER1 on yhtä suuri tai suurempi kuin INTEGER2. INTEGER1 -le INTEGER2 - True INTEGER1 on yhtä suuri tai pienempi kuin INTEGER2. -h FILE - Totta, jos TIEDOSTO on olemassa ja se on symbolinen linkki. -r FILE - Totta, jos TIEDOSTO on olemassa ja luettavissa. -w FILE - Totta, jos TIEDOSTO on olemassa ja se on kirjoitettavissa. -x FILE - Totta, jos TIEDOSTO on olemassa ja se voidaan suorittaa. -d FILE - Totta, jos TIEDOSTO on olemassa ja on hakemisto. -e FILE - Totta, jos TIEDOSTO on olemassa ja on tiedosto riippumatta tyypistä (solmu, hakemisto, pistorasia jne.). -f FILE - Totta, jos TIEDOSTO on olemassa ja on tavallinen tiedosto (ei hakemisto tai laite).

johtopäätös

if..else , if..else ja if..elif..else avulla voit hallita Bash-komentosarjan suorituksen kulkua arvioimalla annettuja ehtoja.

bash-terminaali