logo

Bash Dacă

În acest subiect, vom înțelege cum să folosim declaraţii dacă în scripturi Bash pentru a finaliza sarcinile noastre automate.

Bash dacă afirmațiile sunt benefice. Ele sunt utilizate pentru a efectua sarcini condiționate în fluxul secvenţial de execuție a instrucțiunilor. Declarațiile If de obicei ne permit să luăm decizii în scripturile noastre Bash. Ele ne ajută să decidem dacă să rulăm sau nu o bucată de coduri în funcție de condiția pe care o putem stabili.

Declarații if de bază

O instrucțiune if de bază comandă că, dacă o anumită condiție este adevărată, atunci executați doar un anumit set de acțiuni. Dacă nu este adevărat, atunci nu executați acele acțiuni. Dacă declarația se bazează pe următorul format:

ce este desktop ini

Sintaxă

 if [ expression ]; then statements fi 

Declarația dintre apoi și fi (Dacă înapoi) va fi executat numai dacă expresia (între paranteze drepte) este adevărată.

Notă:Observați spațiile folosite în prima linie și punct și virgulă la sfârșitul primei rânduri; ambele sunt obligatorii de utilizat.Dacă declarația condiționatăse termină cufi.

  • Pentru utilizarea mai multor condiții cu operator AND:
 if [ expression_1 ] && [ expression_2 ]; then statements fi 
  • Pentru utilizarea mai multor condiții cu operatorul SAU:
 if [ expression_1 ] || [ expression_2 ]; then statements fi 
  • Pentru expresiile compuse cu operatori AND & SAU, putem folosi următoarea sintaxă:
 if [ expression_1 && expression_2 || expression_3 ]; then statements fi 

Mai jos sunt câteva exemple care demonstrează utilizarea instrucțiunii if:

Exemplul 1

În acest exemplu, luați o intrare de utilizator a oricărui număr și verificați dacă valoarea este mai mare decât 125.

 #!/bin/bash read -p ' Enter number : ' number if [ $number -gt 125 ] then echo 'Value is greater than 125' fi 

Ieșire

Dacă introducem numărul 159, atunci rezultatul va arăta astfel:

program python pentru căutare binară
Declarația Bash If

Exemplul 2

În acest exemplu, demonstrăm utilizarea lui declarația dacă cu un scenariu simplu de comparare a două șiruri:

 #!/bin/bash # if condition is true if [ 'myfile' == 'myfile' ]; then echo 'true condition' fi # if condition is false if [ 'myfile' == 'yourfile' ]; then echo 'false condition' fi 

Ieșire

Declarația Bash If

Exemplul 3

În acest exemplu, demonstrăm cum să comparăm numere folosind instrucțiunea if:

 #!/bin/bash #if condition (greater than) is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' fi #if condition (greater than) is false if [ 3 -gt 10 ]; then echo '3 is not greater than 10.' fi #if condition (lesser than) is true if [ 3 -lt 10 ]; then echo '3 is less than 10.' fi #if condition (lesser than) is false if [ 10 -lt 3 ]; then echo '10 is not less than 3.' fi #if condition (equal to) is true if [ 10 -eq 10 ]; then echo '10 is equal to 10.' fi #if condition (equal to) is false if [ 10 -eq 9 ]; then echo '10 is not equal to 9' fi 

Ieșire

Declarația Bash If

Exemplul 4

În acest exemplu, vom defini cum să folosiți operatorul AND pentru a include mai multe condiții în expresia if:

 #!/bin/bash # TRUE && TRUE if [ 8 -gt 6 ] && [ 10 -eq 10 ]; then echo 'Conditions are true' fi # TRUE && FALSE if [ 'mylife' == 'mylife' ] && [ 3 -gt 10 ]; then echo 'Conditions are false' fi 

Ieșire

Declarația Bash If

Exemplul 5

În acest exemplu, vom defini cum să folosiți operatorul OR pentru a include mai multe condiții în expresia if:

 #!/bin/bash # TRUE || FALSE if [ 8 -gt 7 ] || [ 10 -eq 3 ]; then echo ' Condition is true. ' fi # FALSE || FALSE if [ 'mylife' == 'yourlife' ] || [ 3 -gt 10 ]; then echo ' Condition is false. ' fi 

Ieșire

Declarația Bash If

Exemplul 6

În acest exemplu, vom defini cum să folosiți AND și SAU pentru a include mai multe condiții în expresia if:

 #!/bin/bash # TRUE && FALSE || FALSE || TRUE if [[ 10 -eq 10 && 5 -gt 4 || 3 -eq 4 || 3 -lt 6 ]]; then echo 'Condition is true.' fi # TRUE && FALSE || FALSE if [[ 8 -eq 8 && 8 -gt 10 || 9 -lt 5 ]]; then echo 'Condition is false' fi 

Ieșire

tat forma completa
Declarația Bash If

Opțiuni pentru instrucțiunea If în Bash Scripting

Instrucțiunea If conține multe opțiuni pentru a efectua o anumită sarcină. Aceste opțiuni pot fi folosite pentru operațiuni cu fișiere, operațiuni cu șiruri etc. Iată câteva dintre opțiunile cele mai utilizate:

JavaScript global variabil
-
Opțiuni (operatori) Descriere
! EXPRESIE Pentru a verifica dacă EXPRESIA este falsă.
-n STRING Pentru a verifica dacă lungimea lui STRING este mai mare decât zero.
-z ȘIR Pentru a verifica dacă lungimea STRING este zero (adică este goală)
ȘIR1 == ȘIR 2 Pentru a verifica dacă STRING1 este egal cu STRING2.
STRING1 != STRING2 Pentru a verifica dacă STRING1 nu este egal cu STRING2.
INTEGER1 -eq INTEGER2 Pentru a verifica dacă INTEGER1 este numeric egal cu INTEGER2.
INTEGER1 -gt INTEGER2 Pentru a verifica dacă INTEGER1 este numeric mai mare decât INTEGER2.
INTEGER1 -lt INTEGER2 Pentru a verifica dacă INTEGER1 este numeric mai mic decât INTEGER2.
-d FIȘIER Pentru a verifica dacă FILE există și este un director.
-e FIȘIER Pentru a verifica dacă FILE există.
-r FIȘIER Pentru a verifica dacă FILE există și permisiunea de citire este acordată.
-s FIȘIER Pentru a verifica dacă FILE există și dimensiunea lui este mai mare decât zero (ceea ce înseamnă că nu este gol).
-w FIȘIER Pentru a verifica dacă FILE există și permisiunea de scriere este acordată.
x FIȘIER Pentru a verifica dacă FILE există și permisiunea de execuție este acordată.

Imbricat Dacă

Puteți aplica cât mai multe „instrucțiuni if” sunt necesare în scriptul dumneavoastră bash. De asemenea, este posibil să utilizați o declarație if în interiorul unei alte „instrucțiuni if”. Este cunoscut sub numele de Imbricat If.

Exemplu

În acest exemplu, vom găsi „dacă un număr dat este mai mare de 50 și dacă este un număr par” utilizând expresia imbricată if.

 #!/bin/bash #Nested if statement if [  -gt 50 ] then echo 'Number is greater than 50.' if ((  % 2 == 0 )) then echo 'and it is an even number.' fi fi 

Ieșire

Dacă introducem o valoare a argumentului ca 100, atunci rezultatul va arăta astfel:

Declarația Bash If

Concluzie

În acest subiect, am discutat despre cum am putea folosi ramificarea condiționată în fluxul secvențial de execuție a instrucțiunilor cu instrucțiunea bash if.