- Paggamit ng 'Kung' na Pahayag
- Paggamit ng 'If-Else' na Pahayag
- Paggamit ng 'If-Elif-Else' na Pahayag
- Paggamit ng 'Kung' na Pahayag upang Suriin ang isang Walang Lamang Variable
- Paggamit ng 'Kung' na Pahayag sa Logical Operator
- Paggamit ng Nested 'If' na Mga Pahayag
- Paggamit ng 'Kung' na Pahayag upang Suriin ang Pag-iral ng File
- Paggamit ng 'Kung' na Pahayag upang Suriin ang Pag-iral ng Direktoryo
- Paggamit ng 'If' na Pahayag sa Regex
- Paggamit ng 'Kaso' na Pahayag
Paggamit ng 'Kung' na Pahayag
Ipinapakita ng halimbawang ito ang simpleng paggamit ng 'if' na pahayag sa Bash. Anim na uri ng paghahambing na operator ang maaaring gamitin upang ihambing ang mga numerong halaga sa Bash. Ang mga ito ay '-eq' (katumbas), '-ne' (hindi katumbas), '-le' (mas mababa sa katumbas), '-ge' (mas malaki kaysa katumbas), '-lt' (mas mababa sa), at ' -gt” (mas malaki kaysa). Ang mga paggamit ng '-lt' at '-eq' ay ipinapakita sa sumusunod na script kung ang numero ay mas mababa sa 99 o hindi pa nasuri gamit ang '-lt' operator. Ang numero ay pantay o kakaiba at sinusuri ng '-eq' operator.
#!/bin/bash
#Magtalaga ng numeric na halaga
( ( numero = limampu ) )
#Tingnan ang numeric na halaga gamit ang 'if' statement
kung [ $number -lt 99 ]
pagkatapos
echo 'May bisa ang numero.'
maging
#Tingnan kung pantay ang numero o hindi
kung [ $ ( ( $number % 2 ) ) -eq 0 ]
pagkatapos
echo 'Ang numero ay pantay.'
maging
Output :
Lumilitaw ang sumusunod na output pagkatapos isagawa ang nakaraang script:
Paggamit ng 'If-Else' na Pahayag
Ang paggamit ng “if-else” na pahayag ay ipinapakita sa sumusunod na script. Kinukuha ang isang string value mula sa user at sinusuri kung ang value ay “BLUE” o hindi gamit ang “if-else” statement.
#!/bin/bash
#Kumuha ng string value mula sa user
basahin -p 'Ilagay ang iyong paboritong kulay:' kulay
#Tingnan ang halaga ng string gamit ang 'if-else' na pahayag
kung [ ${kulay^^} == 'ASUL' ]
pagkatapos
echo 'Fine, Blue color available.'
iba pa
echo ' $kulay ay hindi magagamit.'
maging
Output :
Ang sumusunod na output ay lilitaw pagkatapos isagawa ang nakaraang script kung ang 'pula' ay kinuha bilang input:
Ang sumusunod na output ay lilitaw pagkatapos isagawa ang nakaraang script kung ang 'asul' ay kinuha bilang input:
Paggamit ng 'If-Elif-Else' na Pahayag
Ang paggamit ng 'if-elif-else' na pahayag ay ipinapakita sa sumusunod na script. Kinukuha ang isang numero mula sa user at nilagyan ng check ang iba't ibang value hanggang sa matagpuan ang anumang tugma. Kung may nakitang tugma, ipi-print ang kaukulang mensahe. Kung walang nakitang tugma, ang default na mensahe ay ipi-print.
#!/bin/bash#Kunin ang halaga ng id mula sa gumagamit
basahin -p 'Ilagay ang iyong serial number:' serial
#Tingnan ang halaga ng input gamit ang 'if-elif-else' na pahayag
kung [ $serial == '4523' ]
pagkatapos
echo 'Napili ka sa grupo A.'
Elif [ $serial == '8723' ]
pagkatapos
echo 'Napili ka sa grupo B.'
Elif [ $serial == '3412' ]
pagkatapos
echo 'Napili ka sa grupo C.'
iba pa
echo 'Hindi ka pinili' .
maging
Output:
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script na may halagang 8723:
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script na may halagang 9078:
Paggamit ng 'Kung' na Pahayag upang Suriin ang isang Walang Lamang Variable
Ang paraan ng pagsuri kung ang isang variable ay walang laman na hindi gumagamit ng isang 'kung' na pahayag ay ipinapakita sa sumusunod na script. Ang '-z' na opsyon ay ginagamit sa 'if' na pahayag upang gawin ang gawaing ito.
#!/bin/bash#Kunin ang halaga ng id mula sa gumagamit
basahin -p 'Ilagay ang iyong serial number:' serial
#Tingnan kung walang laman ang variable o wala
kung [ ! -Kasama $serial ]
pagkatapos
#Tingnan ang halaga ng input gamit ang 'if-elif-else' na pahayag
kung [ $serial == '690' ]
pagkatapos
echo 'Napili ka sa team-1.'
Elif [ $serial == '450' ]
pagkatapos
echo 'Napili ka sa team-2.'
iba pa
echo 'Hindi ka pinili' .
maging
iba pa
echo 'Walang binigay na serial number.'
maging
Output :
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script na may halagang 690:
Ang sumusunod na output ay lilitaw pagkatapos isagawa ang script kung walang halaga ng input ang kinuha:
Paggamit ng 'Kung' na Pahayag sa mga Logical Operator
Tatlong uri ng lohikal na operator ang maaaring gamitin sa Bash conditional statement. Ito ay lohikal O (||), lohikal AT (&&), at lohikal na HINDI (!). Kinukuha ang halaga ng code mula sa user. Kung ang halaga ng input ay walang laman, ang halaga ay sinusuri ng dalawang halaga ng code gamit ang lohikal na OR. Kung ang halaga ay tumutugma sa anumang code, ang kaukulang mensahe ay ipi-print. Kung walang nakitang katugmang code, ipi-print ang default na mensahe.
#!/bin/bash#Kunin ang code ng kurso mula sa gumagamit
basahin -p 'Ilagay ang code ng kurso:' code
#Tingnan kung ang variable ay walang laman o wala
kung [ ! -Kasama $code ]
pagkatapos
#Tingnan ang halaga ng input gamit ang 'if-elif-else' na pahayag
kung [ [ $code == 'CSE-106' || $code == 'CSE-108' ] ]
pagkatapos
echo 'CSE course.'
Elif [ [ $code == 'BBA-203' || $code == 'BBA-202' ] ]
pagkatapos
echo 'Kurso ng BBA.'
iba pa
echo 'Di-wastong code ng kurso.'
maging
iba pa
echo 'Walang ibinigay na code ng kurso.'
maging
Output :
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script na may halaga ng input na 'CSE-108':
Ang sumusunod na output ay lilitaw pagkatapos isagawa ang script na may input value na 'BBA-56':
Paggamit ng Nested 'If' na Mga Pahayag
Kapag ang isang 'kung' kundisyon ay ginamit sa loob ng isa pang 'kung' kundisyon, ito ay tinatawag na isang nested 'kung' na pahayag. Ang paraan ng paggamit ng nested na “if” ay ipinapakita sa sumusunod na script. Dalawang mark value ang kinuha mula sa user. Kung walang laman ang mga value ng input, susuriin ng unang kundisyon na 'kung' kung ang halaga ng '$theory' ay mas malaki o katumbas ng 60 o hindi. Kung ang unang 'if' na kundisyon ay nagbabalik ng 'true', ang pangalawang 'if' na kundisyon ay nagsusuri kung ang halaga ng '$lab' ay mas malaki o katumbas ng 50 o hindi. Kung ang pangalawang kundisyon na 'kung' ay nagbabalik din ng 'totoo', isang mensahe ng tagumpay ay naka-print. Kung hindi, isang mensahe ng pagkabigo ay naka-print.
#!/bin/bash#Kunin ang marka ng teorya
basahin -p 'Ipasok ang marka ng teorya:' teorya
#Kunin ang marka ng lab
basahin -p 'Ipasok ang marka ng lab:' lab
#Tingnan kung ang mga variable ay walang laman o wala
kung [ [ ! -Kasama $teorya && ! -Kasama $lab ] ]
pagkatapos
#Tingnan ang mga halaga ng input gamit ang isang nested na 'if' na pahayag
kung [ $teorya -ge 60 ]
pagkatapos
kung [ $lab -ge limampu ]
pagkatapos
echo 'Nakapasa ka.'
iba pa
echo 'Nabigo ka.'
maging
iba pa
echo 'Nabigo ka.'
maging
iba pa
echo 'Walang laman ang teorya o lab mark.'
maging
Output :
Ang sumusunod na output ay lilitaw kung pareho o isa sa mga halaga ng input ay walang laman:
Ang sumusunod na output ay lilitaw kung 78 ay kinuha bilang theory mark at 45 ay kinuha bilang lab marks. Dito, ang pangalawang 'kung' kundisyon ay nagbabalik ng 'false':
Ang sumusunod na output ay lilitaw kung 67 ay kinuha bilang theory mark at 56 ay kinuha bilang lab marks. Dito, ang parehong 'kung' kundisyon ay nagbabalik ng 'totoo':
Ang sumusunod na output ay lilitaw kung 50 ay kinuha bilang theory mark at 80 ay kinuha bilang lab marks. Dito, ang unang 'kung' kundisyon ay nagbabalik ng 'false':
Paggamit ng 'Kung' na Pahayag upang Suriin ang File Existence
Ang pagkakaroon ng file ay maaaring suriin ng bash script sa dalawang paraan. Ang isa ay gumagamit ng '-f' operator na may '[]' bracket. Ang isa pa ay gumagamit ng 'test' command at ang '-f' operator. Ang isang filename ay kinuha at sinusuri ang pagkakaroon ng file gamit ang 'kung' kundisyon sa '-f' operator. Pagkatapos, kukuha ng isa pang filename at suriin ang pagkakaroon ng file gamit ang “if” statement na may “test” command at ang “-f” operator.
#!/bin/bash#Kunin ang filename
basahin -p 'Maglagay ng filename:' fn1
#Tingnan kung ang file ay umiiral o wala nang hindi gumagamit ng `pagsubok`
kung [ -f $fn1 ]
pagkatapos
echo ' $fn1 umiiral ang file.'
iba pa
echo ' $fn1 walang file.'
maging
#Magdagdag ng bagong linya
echo
#Kumuha ng isa pang filename
basahin -p 'Maglagay ng isa pang filename:' fn2
#Tingnan kung ang file ay umiiral o hindi gamit ang `pagsubok`
kung pagsusulit -f $fn2 ; pagkatapos
echo ' $fn2 umiiral ang file.'
#Tingnan kung walang laman ang file o hindi gamit ang `test`
kung pagsusulit -Kasama $fn2 ; pagkatapos
echo ' $fn2 walang laman ang file.'
iba pa
echo ' $fn2 walang laman ang file.'
maging
iba pa
echo ' $fn2 walang file.'
maging
Output :
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script sa pamamagitan ng pagkuha sa “test.txt” at “testing.txt” bilang mga filename. Ayon sa output, ang parehong mga file ay umiiral sa kasalukuyang lokasyon at ang 'testing.txt' na file ay walang laman:
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script sa pamamagitan ng pagkuha sa 'f1.txt' at 'test.txt' bilang mga filename. Ayon sa output, ang 'f1.txt' na file ay hindi umiiral sa kasalukuyang lokasyon at ang 'test.txt' na file ay walang laman:
Paggamit ng 'Kung' na Pahayag upang Suriin ang Pag-iral ng Direktoryo
Ang pagkakaroon ng direktoryo ay maaaring suriin ng Bash script sa dalawang paraan tulad ng file. Ang isa ay gumagamit ng '-d' operator na may '[]' bracket. Ang isa pa ay gumagamit ng 'test' command at ang '-d' operator. Ang isang pangalan ng direktoryo ay kinuha at sinusuri ang pagkakaroon ng direktoryo gamit ang 'kung' kundisyon sa '-d' operator. Pagkatapos, isa pang pangalan ng direktoryo ang kinuha at sinusuri ang pagkakaroon ng file gamit ang 'if' na pahayag na may 'test' command at ang '-d' operator.
#!/bin/bash#Kumuha ng pangalan ng direktoryo
basahin -p 'Magpasok ng pangalan ng direktoryo:' ikaw1
#Tingnan kung umiiral ang direktoryo o wala nang hindi gumagamit ng `pagsubok`
kung [ -d $dir1 ]
pagkatapos
echo ' $dir1 mayroong direktoryo.'
iba pa
echo ' $dir1 hindi umiiral ang direktoryo.'
maging
#Magdagdag ng bagong linya
echo
#Kumuha ng isa pang pangalan ng direktoryo
basahin -p 'Magpasok ng isa pang pangalan ng direktoryo:' dir2
#Tingnan kung ang file ay umiiral o hindi gamit ang `pagsubok`
kung pagsusulit -d $dir2
pagkatapos
echo ' $dir2 mayroong direktoryo.'
iba pa
echo ' $dir2 hindi umiiral ang direktoryo.'
maging
Output :
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script na may mga pangalan ng direktoryo na 'temp' at 'mga file'. Ayon sa output, ang parehong mga direktoryo ay umiiral sa kasalukuyang lokasyon. Pagkatapos, ang utos na 'ls' ay isinasagawa upang suriin ang nilalaman ng mga direktoryo:
Ang sumusunod na output ay lilitaw pagkatapos isagawa ang script na may 'pagsubok' at 'bagong' mga pangalan ng direktoryo. Ayon sa output, ang parehong mga direktoryo ay hindi umiiral sa kasalukuyang lokasyon. Pagkatapos, ang output ng command na 'ls' ay nagpapakita na ang parehong mga direktoryo ay hindi umiiral:
Paggamit ng 'Kung' na Pahayag sa Regex
Ang sumusunod na script ay nagpapakita ng paraan ng pagpapatunay ng input data gamit ang isang “if” na pahayag na may regex. Dito, dalawang value ng input ang kinukuha mula sa user at iniimbak sa mga variable na '$bookname' at '$bookprice'. Ang kundisyong 'kung' ay ginagamit sa script upang suriin na ang variable na '$bookname' ay naglalaman ng lahat ng mga alphabetic na character at ang '$bookprice' ay naglalaman ng isang numero.
#!/bin/bash#Kunin ang pangalan ng libro at presyo mula sa gumagamit
echo -n 'Ilagay ang pangalan ng libro:'
basahin pangalan ng aklat
echo -n 'Ilagay ang presyo ng libro:'
basahin bookprice
#Tingnan ang pangalan ng libro ay naglalaman lamang ng alpabeto
kung ! [ [ ' $pangalan ng aklat ' =~ [ A-Za-z ] ] ] ; pagkatapos
echo 'Di-wasto ang pangalan ng libro.'
iba pa
echo 'May bisa ang pangalan ng libro.'
maging
#Tingnan ang presyo ng libro ay naglalaman lamang ng digit
kung ! [ [ ' $bookprice ' =~ [ 0 - 9 ] ] ] ; pagkatapos
echo 'Ang presyo ng libro ay maaaring maglaman ng digit lamang.'
iba pa
echo 'May bisa ang presyo ng libro.'
maging
Output :
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script na may mga halaga ng input ng 'Bash Programming' bilang pangalan ng libro at 78 bilang presyo ng libro:
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script na may mga halaga ng input na 90 bilang pangalan ng libro at 'Bash' bilang presyo ng libro:
Paggamit ng 'Kaso' na Pahayag
Ang 'case' na pahayag ay ang kahalili ng 'if-elif-else' na pahayag ngunit lahat ng mga gawain ng 'if-elif-else' na pahayag ay hindi maaaring gawin gamit ang 'case' na pahayag. Ang simpleng paggamit ng 'case' na pahayag ay ipinapakita sa sumusunod na script. Kinukuha ang isang numerong halaga mula sa user bilang ang kasalukuyang halaga ng buwan. Pagkatapos, ipi-print ang kaukulang buwan kung may makikitang anumang katumbas na halaga sa statement na 'case'. Kung hindi, ang default na mensahe ay naka-print.
#!/bin/bash#Kunin ang kasalukuyang halaga ng buwan sa bilang
basahin -p 'Ilagay ang buwan ng ngayon sa bilang:' b_month
#Print ang text bago i-print ang pangalan ng buwan
echo -n 'Ang kasalukuyang pangalan ng buwan ay '
#Alamin at i-print ang katugmang pangalan ng buwan batay sa input
kaso $b_month sa
1 | 01 ) echo 'Enero.' ;;
2 | 02 ) echo 'Pebrero.' ;;
3 | 03 ) echo 'Marso.' ;;
4 | 04 ) echo 'Abril.' ;;
5 | 05 ) echo 'Mayo.' ;;
6 | 06 ) echo 'Hunyo.' ;;
7 | 07 ) echo 'Hulyo.' ;;
8 | 08 ) echo 'Agosto.' ;;
9 | 09 ) echo 'Setyembre.' ;;
10 ) echo 'Oktubre.' ;;
labing-isa ) echo 'Nobyembre.' ;;
12 ) echo 'Disyembre.' ;;
* ) echo 'hindi mahanap.' ;;
esac
Output :
Ang sumusunod na output ay lilitaw pagkatapos isagawa ang script na may halagang 6:
Lumilitaw ang sumusunod na output pagkatapos isagawa ang script na may halagang 09:
Ang sumusunod na output ay lilitaw pagkatapos isagawa ang script na may halaga na 14:
Konklusyon
Ang iba't ibang paggamit ng conditional logic gamit ang 'if' at 'case' na mga pahayag ay ipinapakita sa 10 halimbawa ng tutorial na ito. Ang konsepto ng paggamit ng conditional logic sa Bash ay mali-clear para sa mga bagong gumagamit ng Bash pagkatapos basahin ang tutorial na ito.