Hi ha diversos tipus d’enunciats condicionals a Bash:
- afirmació if
- declaració if-else
- declaració if..elif..else
- Anidat
En aquest article, aprendrem una de les afirmacions condicionals que és if, elseif, else juntament amb pocs exemples. En diversos altres idiomes, elif s'escriu com elseif o else if. La declaració elif ens ajuda a prendre decisions entre diferents opcions.
La sintaxi de if, elseif, else és:
si <expressió_prova>;llavors
<ordre per executar>
elif <expressió_prova>;llavors
<ordre per executar>
en cas contrari
<ordre per executar>
ser
La paraula clau if 'va seguida de la condició que voleu comprovar. En aquesta afirmació condicional if-else-if, les expressions s’avaluen de dalt a baix.
- Això és seguit per llavors paraula clau.
- Després, si una expressió s’avalua com a veritable, s’executaran les sentències corresponents. Si les expressions s’avaluen com a falses, s’executarà la sentència corresponent a l’elif.
- Si no es compleix cap de les condicions, s'executa la sentència dins de la resta de blocs.
Exemple 1
Elif (else if) s'utilitza per a múltiples condicions if. Si la primera condició és falsa, comproveu-ne una altra. A l'exemple següent, prenem l'entrada de l'usuari i mostrem les sentències corresponents.
- Utilitzeu la condició if per comprovar si les marques són majors o iguals a 80. Si la condició es valora com a veritable, s'imprimirà Excel·lent mitjançant l'ordre echo que hi ha a sota del bloc.
- Si la primera condició es valora com a falsa, utilitzarà la condició elif per comprovar si les marques són majors o iguals a 70; si es valora com a veritable, s'imprimirà Bona.
- Si cap de les condicions anteriors no es valora com a certa, passarà a la condició else i imprimirà Satisfactòria.
si [ $ marques -dóna 80 ]
llavors
trobo 'Excel · lent'
elif [ $ marques -dóna 60 ]
llavors
trobo 'Bo'
en cas contrari
trobo 'Satisfactori'
ser
Exemple 2:
Per exemple, volem documentar les marques d’un curs determinat. El total de notes és de 200, amb 100 punts per als concursos i 100 per a les tasques. Volem mostrar la suma de tasques i qüestionaris, tot assegurant-nos que el recompte global no superi els 200.
- Preneu l'entrada: quiz_marks i assignments_marks
- Assegureu-vos que cap de les dues entrades no supera les marques màximes possibles per a cadascuna d’elles, és a dir, 100 mitjançant les condicions if i elif.
- Si qualsevol de les dades quiz_marks o assignments_marks supera els 100, mostreu un missatge d'advertiment mitjançant l'ordre echo.
- Comproveu les marques d’entrada del test
- Comproveu les marques d’entrada per obtenir tasques
- Si cap de les condicions anteriors no coincideix, és a dir, cap de les marques supera els 100, passeu a la condició else i mostreu la suma de marques mitjançant l'ordre echo.
llegir -p 'Introduïu marques teòriques:'marcadors_quiz
llegir -p 'Introduïu marques pràctiques:'assignations_marks
si (($ quiz_marks > 50));
llavors
trobo 'Si us plau, comproveu les marques d'entrada del test.'
elif (($ assignments_marks > 50));
llavors
trobo 'Comproveu les marques d'entrada per a les tasques.'
en cas contrari
trobo 'Les vostres marques totals: suma =$ ((quiz_marks + assignments_marks)) '
ser
Exemple 3:
Prenguem un altre exemple d'un programa de compte bancari en el qual volem tenir tres resultats diferents per a tres situacions diferents:
- El saldo és inferior a zero
- El saldo és zero
- El saldo és superior a zero
Per exemple, al programa següent, utilitzeu les sentències if, elif, else per mostrar diferents sortides en diferents escenaris:
- Utilitzeu la condició if per comprovar si el saldo és inferior a zero. Si aquesta condició es valora com a veritable, mostreu el missatge mitjançant l'ordre echo: El saldo és inferior a zero. Si us plau, afegiu més fons, en cas contrari se us cobrarà una penalització.
- Si la condició anterior no coincideix, utilitzeu la condició elif per comprovar si el saldo és igual a zero. Si es valora com a vertader, mostreu el missatge: El saldo és zero, afegiu fons
- Si cap de les condicions anteriors no coincideix, utilitzeu la condició else per mostrar el següent: El vostre saldo és superior a zero.
balanç=900
si ((balanç< 0));llavors
trobo 'El saldo és inferior a zero, afegiu més fons, en cas contrari se us aplicarà una penalització'
elif ((balanç ==0));llavors
trobo 'El saldo és zero, afegiu fons'
en cas contrari
trobo 'El vostre saldo és superior a zero'.
ser
Dels exemples anteriors de la sentència condicional if, elif, else, ara hauríeu de ser capaços d'entendre com funciona aquesta sentència condicional i on es pot utilitzar en diferents escenaris. Espero que us hagi agradat l'article.