Paano Sumulat ng IF-Pahayag sa isang Bash-Script

Mga utos, Syntax, at Mga Halimbawa

Sa pamamagitan ng kung-pahayag, na isang uri ng conditional statement, maaari kang magsagawa ng iba't ibang mga aksyon depende sa tinukoy na mga kondisyon. Ito ay epektibong nagbibigay sa sistema ng kakayahang gumawa ng mga desisyon.

Ang isang halimbawa ng pinakasimpleng anyo ng kung-pahayag ay:

count = 5 kung [$ count == 5] pagkatapos echo "$ count" fi

Sa halimbawang ito, ang variable na "count" ay ginagamit upang tukuyin ang isang kondisyon na ginamit bilang bahagi ng kung-pahayag. Bago ang pagpapatupad ng if-statement, ang variable na "count" ay itinalaga ang halaga na "5". Ang kung-pahayag pagkatapos ay tseke kung ang halaga ng "count" ay "5". Kung gayon ang pahayag sa pagitan ng mga keyword na "then" at "fi" ay papatayin, kung hindi man ay may anumang mga pahayag na sumusunod sa kung-pahayag ay naisakatuparan. Ang keyword na "fi" ay "kung" nabaybay pabalik. Ginagamit ng bash scripting language ang kombensyong ito upang markahan ang dulo ng isang komplikadong expression, tulad ng kung-pahayag o case-statement.

Ang "echo" na pahayag ay nagpalimbag ng argumento nito, sa kasong ito, ang halaga ng variable na "count", sa terminal window. Ang indentation ng code sa pagitan ng mga keyword ng if-statement ay nagpapabuti sa pagiging madaling mabasa ngunit hindi kinakailangan.

Kung mayroon kang isang sitwasyon kung saan ang isang piraso ng code ay dapat na isagawa lamang kung ang isang kalagayan ay hindi totoo, maaari mong gamitin ang keyword na "sino pa ang paririto" sa isang kung-pahayag, tulad ng sa halimbawang ito:

count = 5 if [$ count == 5] then echo "$ count" else echo "count is not 5" fi

Kung ang kondisyon na "$ count == 5" ay totoo, ang sistema ay nagpapalimbag ng halaga ng variable na "count", kung hindi, ini-print ang string na "count na hindi 5".

Kung nais mong makilala ang pagkakaiba sa pagitan ng maramihang mga kondisyon, maaari mong gamitin ang keyword na "elif", na kung saan ay nagmula sa "ibang tao kung", tulad ng sa halimbawang ito:

kung [$ count == 5] pagkatapos echo "count ay limang" elif [$ count == 6] pagkatapos echo "count ay anim na" iba echo "wala sa itaas" fi

Kung ang "count" ay "5", ang sistema ay nagpapalabas ng "count ay limang". Kung ang "count" ay hindi "5" ngunit "6", ang system prints "count ay anim". Kung ito ay hindi "5" o "6", ang sistema ay nag-print ng "wala sa itaas".

Tulad ng maaaring nahulaan mo, maaari kang magkaroon ng anumang bilang ng mga "elif" clauses. Ang isang halimbawa na may maraming "elif" na kondisyon ay magiging:

kung [$ count == 5] pagkatapos ay echo ang "count ay limang" elif [$ count == 6] at pagkatapos ay echo "count ay anim" elif [$ count == 7] pagkatapos echo "count ay pitong" = 8] pagkatapos ay echo "count ay walong" elif [$ count == 9] pagkatapos echo "count ay siyam" iba echo "wala sa itaas" fi

Ang isang mas compact na paraan upang isulat ang mga pahayag na may maraming mga kondisyon ay ang paraan ng kaso . Ito ay gumaganap katulad ng kung-pahayag na may maramihang mga "elif" na mga clauses ngunit mas maikli. Halimbawa, ang itaas na piraso ng code ay maaaring muling maisulat sa pahayag na "kaso" tulad ng sumusunod:

kaso "$ count" sa 5) echo "count ay limang" ;; 6) echo "count ay anim" ;; 7) echo "count ay pitong" ;; 8) echo "count ay walong" ;; 9) echo "count ay siyam" ;; *) echo "wala sa itaas" esac

Kung-pahayag ay madalas na ginagamit sa loob for-loop o habang-loop tulad ng sa halimbawang ito:

count = 1 done = 0 habang [$ count -le 9] matulog 1 ((count ++)) kung [$ count == 5] pagkatapos ay magpatuloy fi echo "$ count" done echo Finished

Maaari mo ring ma-nested kung ang mga pahayag. Ang pinakasimpleng nested kung ang pahayag ay sa form: kung ... pagkatapos ... iba pa ... kung ... pagkatapos ... fi ... fi. Gayunpaman, kung-pahayag ay maaaring nested na may arbitrary kumplikado.

Tingnan din kung paano ipasa ang mga argumento sa isang script ng bash , na nagpapakita kung paano gamitin ang mga kondisyon upang maproseso ang mga parameter na naipasa mula sa command line.

Ang bash shell ay nagbibigay ng iba pang mga construct ng programming, tulad ng for-loops , habang-loop , at mga expression sa aritmetika .