Kā rakstīt IF-paziņojumus Bash-Script

Komandas, sintakse un piemēri

Ar if-statement, kas ir nosacījuma nosacījums, varat veikt dažādas darbības atkarībā no konkrētiem nosacījumiem. Tas efektīvi dod sistēmai iespēju pieņemt lēmumus.

Vienkāršākā if-statement vienkāršākās formas piemērs ir:

skaits = 5, ja [$ count == 5], tad echo "$ count" fi

Šajā piemērā mainīgais "count" tiek izmantots, lai norādītu nosacījumu, kas tiek izmantots kā if-statement sastāvdaļa. Pirms if-statement tiek izpildīts, mainīgajam lielumam "count" tiek piešķirta vērtība "5". Tad "if" paziņojums pārbauda, ​​vai "count" vērtība ir "5". Ja tas tā ir, tiek izpildīts paziņojums starp atslēgvārdiem "tad" un "fi", pretējā gadījumā tiks izpildīti visi apgalvojumi, kas seko if-statement. Atslēgvārds "fi" ir "if" uzrakstīts atpakaļ. Bash skriptu valoda izmanto šo konvenciju, lai atzīmētu sarežģītas izteiksmes, piemēram, if-statement vai case-statement, beigas.

Paziņojums "echo" izdrukā savu argumentu, šajā gadījumā mainīgā lieluma vērtību "count", uz termināla logu. Koda novietojums starp if-statement atslēgvārdiem uzlabo lasāmību, bet tas nav nepieciešams.

Ja jums ir situācija, kad kods būtu jāizpilda tikai tad, ja nosacījums nav taisnība, jūs varat izmantot atslēgvārdu "cits" if-statement kā šajā piemērā:

skaits = 5, ja [$ count == 5], tad echo "$ count" else echo "skaits nav 5" fi

Ja nosacījums "$ count == 5" ir taisnība, sistēma izdrukā mainīgā lieluma vērtību "count", pretējā gadījumā tiek izdrukāta virkne "count is not 5".

Ja vēlaties atšķirt vairākus nosacījumus, varat izmantot atslēgvārdu "elif", kas ir atvasināts no "cits, ja", kā šajā piemērā:

ja [$ count == 5] tad echo "count is five" elif [$ count == 6], tad echo "count is six" else echo "none of the above" fi

Ja "skaits" ir "5", sistēma izdrukā "skaits ir pieci". Ja "count" nav "5", bet "6", sistēma izdrukā "count is six". Ja tas nav nedz "5", nedz "6", sistēma izdrukā "nevienu no iepriekš minētajiem".

Kā jūs varētu minēt, jums var būt vairāki "elif" klauzulas. Piemērs ar vairākiem "elif" nosacījumiem būtu:

ja [$ count == 5] tad echo "count is five" elif [$ count == 6], tad echo "count is six" elif [$ count == 7], tad echo "count is seven" elif [$ count = = 8], tad echo "count is eight" elif [$ count == 9], tad echo "count is nine", echo "none of the above" fi

Vairāk kompakts veids, kā rakstīt šādus paziņojumus ar vairākiem nosacījumiem, ir gadījuma metode. Tas darbojas līdzīgi if-statement ar vairākiem "elif" klauzulām, bet ir īsāks. Piemēram, iepriekš minēto koda daļu var pārrakstīt ar norādi "gadījums" šādi:

gadījums "$ count" 5) echo "skaits ir pieci" ;; 6) echo "skaits ir seši" ;; 7) echo "skaits ir septiņi" ;; 8) echo "skaits ir astoņi" ;; 9) echo "skaits ir deviņi" ;; *) echo "neviens no iepriekš minētajiem" esac

Ja-apgalvojumi bieži tiek izmantoti iekšpusē cilpas vai cilpas, kā tas parādīts šajā piemērā:

skaits = 1 pabeigts = 0, kamēr [$ count-le 9] gulēt 1 ((count ++)), ja [$ count == 5], tad turpiniet atskaiti "$ count" done echo Finished

Jūs varat arī būt ligzdots, ja apgalvojumi. Vienkāršākais ligzdots, ja paziņojums ir šādā formā: ja ... tad ... vēl ... ja ... tad ... fi ... fi. Tomēr, if-statement var tikt ievietots ar patvaļīgu sarežģītību.

Skatiet arī, kā nodot argumentus bash skriptam , kas parāda, kā izmantot nosacījumus, lai apstrādātu parametrus, kas tiek pārsūtīti no komandrindas.

Bash apvalks nodrošina citas programmēšanas konstrukcijas, piemēram, for-cilpas , cilpas cilpas un aritmētiskās izteiksmes .