logo

Bash If

Šajā tēmā mēs sapratīsim, kā to izmantot ja paziņojumi Bash skriptos, lai mūsu automatizētie uzdevumi tiktu pabeigti.

Bash, ja paziņojumi ir izdevīgi. Tos izmanto, lai izpildītu nosacījumus uzdevumus secīgā paziņojumu izpildes plūsmā. Ja paziņojumi parasti ļauj mums pieņemt lēmumus mūsu Bash skriptos. Tie palīdz mums izlemt, vai palaist kodu daļu, pamatojoties uz nosacījumu, ko varam iestatīt.

Pamata ja paziņojumi

Pamata if paziņojums nosaka, ka, ja konkrēts nosacījums ir patiess, izpildiet tikai noteiktu darbību kopu. Ja tā nav taisnība, tad neveiciet šīs darbības. Ja paziņojums ir balstīts uz šādu formātu:

Sintakse

 if [ expression ]; then statements fi 

Paziņojums starp tad un būt (Ja atpakaļ) tiks izpildīts tikai tad, ja izteiksme (starp kvadrātiekavās) ir patiesa.

Piezīme:Ievērojiet atstarpes, kas izmantotas pirmajā rindā, un semikolu pirmās rindas beigās; abi ir obligāti jāizmanto.Ja nosacījuma paziņojumsbeidzas arbūt.

  • Vairāku nosacījumu izmantošanai ar operatoru UN:
 if [ expression_1 ] && [ expression_2 ]; then statements fi 
  • Vairāku nosacījumu izmantošanai ar operatoru VAI:
 if [ expression_1 ] || [ expression_2 ]; then statements fi 
  • Saliktām izteiksmēm ar operatoriem UN un VAI mēs varam izmantot šādu sintaksi:
 if [ expression_1 && expression_2 || expression_3 ]; then statements fi 

Tālāk ir sniegti daži piemēri, kas parāda if priekšraksta lietošanu:

1. piemērs

Šajā piemērā ņemiet lietotāja ievadīto jebkuru skaitli un pārbaudiet, vai vērtība ir lielāka par 125.

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

Izvade

ssh pilna forma

Ja ievadīsim skaitli 159, izvade izskatīsies šādi:

Bash If paziņojums

2. piemērs

Šajā piemērā mēs demonstrējam lietojumu ja paziņojums ar vienkāršu divu virkņu salīdzināšanas scenāriju:

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

Izvade

log4j
Bash If paziņojums

3. piemērs

Šajā piemērā mēs parādām, kā salīdzināt skaitļus, izmantojot if priekšrakstu:

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

Izvade

Bash If paziņojums

4. piemērs

Šajā piemērā mēs definēsim, kā izmantot operatoru UN, lai ietvertu vairākus nosacījumus izteiksmē 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 

Izvade

Bash If paziņojums

5. piemērs

Šajā piemērā mēs definēsim, kā izmantot operatoru VAI, lai ietvertu vairākus nosacījumus izteiksmē 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 

Izvade

Bash If paziņojums

6. piemērs

Šajā piemērā mēs definēsim, kā izmantot UN un VAI, lai ietvertu vairākus nosacījumus izteiksmē 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 

Izvade

iphone emocijzīmes operētājsistēmā Android
Bash If paziņojums

Opcijas If paziņojumam Bash skriptēšanā

Ja paziņojumā ir daudz iespēju, lai veiktu konkrētu uzdevumu. Šīs opcijas var izmantot failu operācijām, virkņu darbībām utt. Tālāk ir norādītas dažas visbiežāk izmantotās opcijas:

-
Opcijas (operatori) Apraksts
! IZTEIKSME Lai pārbaudītu, vai EXPRESSION ir nepatiess.
-n STRING Lai pārbaudītu, vai STRING garums ir lielāks par nulli.
-z STRING Lai pārbaudītu, vai STRING garums ir nulle (t.i., tas ir tukšs)
STRING1 == STRING2 Lai pārbaudītu, vai STRING1 ir vienāds ar STRING2.
STRING1 != STRING2 Lai pārbaudītu, vai STRING1 nav vienāds ar STRING2.
INTEGER1 -eq INTEGER2 Lai pārbaudītu, vai INTEGER1 ir skaitliski vienāds ar INTEGER2.
INTEGER1 -gt INTEGER2 Lai pārbaudītu, vai INTEGER1 ir skaitliski lielāks par INTEGER2.
INTEGER1 -lt INTEGER2 Lai pārbaudītu, vai INTEGER1 ir skaitliski mazāks par INTEGER2.
-d FAILS Lai pārbaudītu, vai FILE pastāv un tas ir direktorijs.
-e FAILS Lai pārbaudītu, vai FILE pastāv.
-r FAILS Lai pārbaudītu, vai FILE pastāv un lasīšanas atļauja ir piešķirta.
-s FILE Lai pārbaudītu, vai FILE pastāv un tā lielums ir lielāks par nulli (tas nozīmē, ka tas nav tukšs).
-w FAILS Lai pārbaudītu, vai FILE pastāv un vai ir piešķirta rakstīšanas atļauja.
x FILE Lai pārbaudītu, vai FILE pastāv un izpildes atļauja ir piešķirta.

Nested If

Bash skriptā varat lietot tik daudz “ja” paziņojumu, cik nepieciešams. Ir iespējams arī izmantot if paziņojumu cita 'if priekšraksta' iekšpusē. Tas ir pazīstams kā Nested If paziņojums.

Piemērs

Šajā piemērā mēs atradīsim “ja dots skaitlis ir lielāks par 50 un ja tas ir pāra skaitlis”, izmantojot ligzdotu if izteiksmi.

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

Izvade

Ja mēs ievadām argumenta vērtību kā 100, izvade izskatīsies šādi:

Bash If paziņojums

Secinājums

Šajā tēmā mēs apspriedām, kā mēs varētu izmantot nosacīto sazarojumu paziņojumu secīgā izpildes plūsmā ar bash if paziņojumu.