Si-lòt deklarasyon nan script bach se menm jan ak nenpòt lòt lang pwogramasyon; li se yon metòd pou yon pwogram pran desizyon.
Nan if-else
deklarasyon, se ekzekisyon an nan yon blòk nan deklarasyon deside ki baze sou rezilta a nan if
kondisyon.
Sentaks la if-else
deklarasyon nan bach se:
if [condition] then
//if block code else // else block code fi
Si kondisyon an evalye a true
, a if
blòk kòd egzekite, epi si kondisyon an evalye a false
apresa else
blòk kòd egzekite.
Nou dwe fini if
deklarasyon ak fi
mo kle.
Ekspresyon ki itilize nan konstwiksyon kondisyonèl la dwe evalye a swa true
oswa false
. Ekspresyon an kapab yon fisèl sèl oswa varyab.
$a -lt $b
oswa $a < $b
$a -gt $b
oswa $a > $b
$a -le $b
oswa $a <= $b
$a -ge $b
oswa $a >= $b
$a -eq $b
oswa $a == $b
$a -ne $b
oswa $a != $b
Ekspresyon ki nan if
deklarasyon kapab tou yon konbinezon ki lojik nan konparezon miltip.
Operatè lojik yo se:
$a AND $b
oswa $a && $b
evalye a true
lè tou de varyab oswa deklarasyon yo se verite.$a OR $b
oswa $a || $b
evalye a true
lè youn nan varyab yo oswa deklarasyon yo vre.Pa egzanp:
#!/bin/bash first_name='John' last_name='Doe' if [[ $first_name = 'John' && $last_name = 'Doe' ]] then echo 'hello John Doe' fi
if
deklarasyon se jis yon senp deklarasyon kondisyonèl. Si kondisyon an nan if[]
evalye a true
apresa if
blòk kòd egzekite.
Egzanp:
#!/bin/bash read -p 'Enter a number: ' mynumber if [ $mynumber -gt 10 ] then
echo 'The number you entered is greater than 10' fi
Remak:Nan egzanp ki anwo a, si nou antre nan yon nimewo ki se mwens pase 10, Lè sa a, pa gen anyen vin enprime.Lè rezilta a nan if
kondisyon se false
Lè sa a, kòd la nan else
blòk egzekite, bay gen yon sèl.
Pa egzanp:
#!/bin/bash read -p 'Enter a number: ' mynumber if [ $mynumber -gt 10 ] then
echo 'The number you entered is greater than 10' else
echo 'The number you entered is less than 10' fi
elif
(Lòt bagay si) yo itilize lè gen plizyè if
kondisyon.
Pa egzanp:
#!/bin/bash read -p 'Enter your exam grade: ' grade if [ $grade -ge 80 ] then
echo 'You got A' elif [ $grade -ge 70 ] then
echo 'You got B' elif [ $grade -ge 60 ] then
echo 'You got C' else
echo 'Fail' fi
Nou kapab tou te enbrike if
deklarasyon.
Pa egzanp:
#!/bin/bash read -p 'Enter value of a :' a read -p 'Enter value of b :' b read -p 'Enter value of c :' c if [ $a -gt $b ] then
if [ $a -gt $c ]
then
echo 'a is greatest'
else
echo 'c is greatest'
fi else
if [ $b -gt $c ]
then
echo 'b is greatest'
else echo 'c is greatest'
fi fi