logo

Bash si

En aquest tema, entendrem com utilitzar-lo si declaracions en scripts Bash per completar les nostres tasques automatitzades.

Baixa si les declaracions són beneficioses. S'utilitzen per realitzar tasques condicionals en el flux seqüencial d'execució d'instruccions. Si les declaracions normalment ens permeten prendre decisions als nostres scripts Bash. Ens ajuden a decidir si s'executa o no un fragment de codi en funció de la condició que podem establir.

Declaracions if bàsiques

Una instrucció if bàsica ordena que si una condició particular és certa, només executeu un conjunt d'accions donat. Si no és cert, no executeu aquestes accions. Si la declaració es basa en el format següent:

Sintaxi

 if [ expression ]; then statements fi 

La declaració entre aleshores i ser (Si cap enrere) només s'executarà si l'expressió (entre claudàtors) és certa.

ordenació de selecció en java

Nota:Observa els espais utilitzats a la primera línia i un punt i coma al final de la primera línia; tots dos són obligatoris d'utilitzar.Si declaració condicionalacaba ambser.

  • Per utilitzar diverses condicions amb l'operador AND:
 if [ expression_1 ] && [ expression_2 ]; then statements fi 
  • Per utilitzar diverses condicions amb l'operador OR:
 if [ expression_1 ] || [ expression_2 ]; then statements fi 
  • Per a expressions compostes amb operadors AND & OR, podem utilitzar la sintaxi següent:
 if [ expression_1 && expression_2 || expression_3 ]; then statements fi 

A continuació es mostren alguns exemples que demostren l'ús de la instrucció if:

Exemple 1

En aquest exemple, agafeu una entrada d'usuari de qualsevol número i comproveu si el valor és superior a 125.

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

Sortida

Si introduïm el número 159, la sortida serà així:

Declaració Bash If

Exemple 2

En aquest exemple, demostrem l'ús de declaració si amb un escenari senzill de comparar dues cadenes:

 #!/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 

Sortida

multithreading en java
Declaració Bash If

Exemple 3

En aquest exemple, demostrem com comparar números mitjançant la declaració 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 

Sortida

Declaració Bash If

Exemple 4

En aquest exemple, definirem com utilitzar l'operador AND per incloure diverses condicions a l'expressió 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 

Sortida

Declaració Bash If

Exemple 5

En aquest exemple, definirem com utilitzar l'operador OR per incloure diverses condicions a l'expressió 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 

Sortida

Declaració Bash If

Exemple 6

En aquest exemple, definirem com utilitzar AND i OR per incloure diverses condicions a l'expressió 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 

Sortida

mvc al marc de primavera
Declaració Bash If

Opcions per a la instrucció If a Bash Scripting

La instrucció If conté moltes opcions per realitzar una tasca específica. Aquestes opcions es poden utilitzar per a operacions amb fitxers, operacions amb cadenes, etc. A continuació es mostren les opcions més utilitzades:

-
Opcions (operadors) Descripció
! EXPRESSIÓ Per comprovar si EXPRESSIÓ és falsa.
-n STRING Per comprovar si la longitud de STRING és superior a zero.
-z STRING Per comprovar si la longitud de STRING és zero (és a dir, està buida)
STRING1 == STRING2 Per comprovar si STRING1 és igual a STRING2.
STRING1 != STRING2 Per comprovar si STRING1 no és igual a STRING2.
INTEGER1 -eq INTEGER2 Per comprovar si INTEGER1 és numèricament igual a INTEGER2.
INTEGER1 -gt INTEGER2 Per comprovar si INTEGER1 és numèricament més gran que INTEGER2.
INTEGER1 -lt INTEGER2 Per comprovar si INTEGER1 és numèricament menor que INTEGER2.
-d FITXER Per comprovar si FILE existeix i és un directori.
-e FITXA Per comprovar si FILE existeix.
-r FITXER Per comprovar si FILE existeix i es concedeix el permís de lectura.
-s FITXER Per comprovar si FILE existeix i la seva mida és superior a zero (el que vol dir que no està buit).
-w FITXER Per comprovar si FILE existeix i es concedeix el permís d'escriptura.
x FITXA Per comprovar si FILE existeix i es concedeix el permís d'execució.

Niat If

Podeu aplicar tantes declaracions 'if' com siguin necessàries dins del vostre script bash. També és possible utilitzar una declaració if dins d'una altra 'sentència if'. Es coneix com a declaració If anidada.

Exemple

En aquest exemple, trobarem 'si un nombre donat és més gran que 50 i si és un nombre parell' utilitzant l'expressió if imbricada.

 #!/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 

Sortida

Si introduïm un valor d'argument com a 100, la sortida serà així:

Declaració Bash If

Conclusió

En aquest tema, vam parlar de com podríem utilitzar la ramificació condicional en el flux seqüencial d'execució de sentències amb la sentència bash if.