Bash Si-Lòt Deklarasyon ak egzanp

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 Deklarasyon Bash Si-Lòt bagay

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.

Remak:Blòk la si sèlman vin egzekite si kondisyon an evalye a vre .
Deklarasyon an lòt moun ak blòk la kòd lòt bagay se si ou vle.

Nou dwe fini if deklarasyon ak fi mo kle.




Konparezon kondisyonèl

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.

  • mwens pase - deziye pa: $a -lt $b oswa $a < $b
  • pi gran pase - deziye pa: $a -gt $b oswa $a > $b
  • mwens pase oswa egal a - deziye pa: $a -le $b oswa $a <= $b
  • pi gran pase oswa egal a - deziye pa: $a -ge $b oswa $a >= $b
  • egal a - deziye pa: $a -eq $b oswa $a == $b
  • pa egal a - deziye pa: $a -ne $b oswa $a != $b

Operatè ki lojik

Ekspresyon ki nan if deklarasyon kapab tou yon konbinezon ki lojik nan konparezon miltip.

Operatè lojik yo se:

  • lojik ak - deziye pa $a AND $b oswa $a && $b evalye a true lè tou de varyab oswa deklarasyon yo se verite.
  • lojik oswa - deziye pa $a OR $b oswa $a || $b evalye a true lè youn nan varyab yo oswa deklarasyon yo vre.
Remak:Lè w ap itilize operatè lojik, ekspresyon kondisyonèl yo ta dwe antoure pa parantèz doub [[]].

Pa egzanp:


#!/bin/bash first_name='John' last_name='Doe' if [[ $first_name = 'John' && $last_name = 'Doe' ]] then echo 'hello John Doe' fi

Bash si Egzanp

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.

Bash si-lòt egzanp

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


Bash if-elif-else Egzanp

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


Bach enbrike si Egzanp

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