când lucrați cu Bash și shell scripting, poate fi necesar să utilizați condiții în scriptul dvs.în programare, condițiile sunt cruciale : ele sunt folosite pentru a afirma dacă anumite condiții sunt adevărate sau nu.
în acest tutorial, ne vom concentra pe una dintre declarația condiționată a limbii Bash: Declarația Bash if else.vom vedea cum puteți utiliza această declarație pentru a vă executa Scripturile în mod condiționat.,
veți învăța, de asemenea, cum puteți utiliza declarațiile imbricate Bash if else pentru a crea un cod mai complex.
Cuprins
Bash Cazul în care Declarația Altceva
În scopul de a executa un Bash „dacă altcineva” declarație, trebuie să utilizați patru cuvinte cheie diferite : dacă, atunci, altceva si fi :
- în cazul în care : reprezintă condiția pe care doriți să verificați;
- atunci : dacă condiția anterioară este adevărată, atunci executa o anumită comandă;
- altceva : dacă anterior condiția este falsă, atunci executa alta comanda;
- fi : închide „dacă, apoi, altcineva” declarație.,
când utilizați instrucțiunea „if else”, va trebui să încadrați condițiile în paranteze pătrate simple sau duble.
if ]then <execute command>else <execute another command>fi
rețineți că instrucțiunea” ELSE ” este opțională, dacă o omiteți, nimic nu va fi executat dacă condiția se evaluează la fals.
Notă : Trebuie să separați condiția de parantezele pătrate cu un spațiu, altfel s-ar putea să apară o eroare de sintaxă.,
dacă altceva Exemple
acum că știți mai multe despre declarația Bash „dacă altceva”, să vedem cum o puteți folosi în exemple din lumea reală.
în această secțiune, vom construi un script care imprimă un mesaj dacă este executat de utilizatorul rădăcină.
Dacă scriptul nu este executat de utilizatorul rădăcină, acesta va scrie un alt mesaj personalizat.pentru a verifica dacă scriptul este executat de root, trebuie să vedem dacă UID-ul apelantului este zero.,
#!/bin/bash# If the user is root, its UID is zero.if then echo "You are root!"else echo "You are not root."fi
după Cum a declarat anterior, „altceva” declarație nu este obligatorie.
dacă omitem în scriptul nostru creat mai devreme, am putea totuși să executăm prima declarație” atunci”.
#!/bin/bash# If the user is root, its UID is zero.if then echo "You are root!"fi
Acum, dacă doriți să adăugați mai multe „dacă” declarații în scripturi?,
Declarația Bash If Elif
declarația „If Elif „este utilizată în Bash pentru a adăuga o declarație suplimentară” if ” la scripturile dvs.,
În scopul de a executa un Bash „elif” declarație, trebuie să utilizați cinci cuvinte cheie diferite : dacă, atunci, elif, altceva si fi :
- în cazul în care : reprezintă condiția pe care doriți să verificați;
- atunci : dacă condiția anterioară este adevărată, atunci executa o anumită comandă;
- elif : folosit pentru a adăuga o condiție suplimentară la declarație;
- altceva: în cazul în care condițiile anterioare sunt false, de a executa o altă comandă;
- fi : închide „dacă, elif, apoi” declarație.,
if ]then <execute command>elif ]then <execute another command>else <execute default command>fi
din nou, instrucțiunea „ELSE” este opțională, deci poate doriți să o omiteți dacă nu aveți nevoie de o declarație implicită.
if ]then <execute command>elif ]then <execute another command>fi
If Elif Examples
în secțiunea noastră anterioară, am folosit declarația” if else ” pentru a verifica dacă un utilizator este root sau nu.
în această secțiune, vom verifica dacă utilizatorul este root sau dacă utilizatorul are un UID de 1002.
dacă nu este cazul, vom ieși din script și vom returna promptul utilizatorului.,
if ]then echo "You are root!"elif ]then echo "You are user, welcome!"else echo "You are not welcome here." exit 1;fi
Felicitări, acum știți cum să utilizați „elif” declarație!
acum ce se întâmplă dacă doriți să aveți mai multe condiții în aceeași declarație „dacă”?
condiții Multiple în If Else
pentru a avea mai multe condiții scrise în aceeași declarație „if else”, trebuie să separați condițiile cu un „și” operator sau un „sau” operator.,
De exemplu, dacă doriți să scrie un script care verifică că sunteți utilizatorul root și care le-ați furnizat corect parametru, v-ar scrie :
Imbricate Dacă Else
În unele cazuri, doriți să pună în aplicare imbricate condiții pentru a avea condiții verificate în condiții preliminare.
pentru a avea imbricate „dacă altceva” declarații, pur și simplu trebuie să includă „dacă” declarație într-o altă declarație „dacă” și închideți declarația imbricate înainte de anexând unul.,
if ]then if ] then <execute command> else <execute another command> fifi
Notă : asigurați-vă că pentru a avea o închidere „fi” declarație pentru fiecare „dacă” declarația pe care ați deschis. Un singur „fi” pur și simplu nu este suficient pentru mai multe declarații „dacă”.
Exemple de declarații imbricate
ca exemplu, să presupunem că doriți să verificați dacă utilizatorul este root înainte de a verifica dacă primul argument furnizat este zero.,
Pentru a rezolva asta, ar scrie o imbricate „dacă, apoi, altcineva” declarație în felul următor :
Bash Teste
după Cum ați observat, în secțiunile anterioare, am folosit „-eq” operator în scopul de a compara o valoare variabilă de la un număr.
am făcut o simplă verificare a egalității, dar ce se întâmplă dacă doriți să aveți o verificare a inegalității? ce se întâmplă dacă doriți să verificați dacă o valoare este mai mare decât un număr dat, de exemplu?pentru a efectua acest lucru, veți avea nevoie de teste Bash.,
testele Bash sunt un set de operatori pe care îi puteți utiliza în declarațiile dvs. condiționale pentru a compara valorile împreună.
testele Bash pot fi listate prin rularea comenzii „test de ajutor”.,
$ help test
atunci Când scrieți Bash teste, în esență, aveți trei opțiuni :
- Scrie condiții privind de fișiere și directoare : dacă acestea există, dacă acestea sunt un personaj de fișier, un dispozitiv de fișiere și așa mai departe;
- Scrie condiții privind numerele : dacă acestea sunt egale cu fiecare alte, dacă unul este mai mare decât celălalt;
- Scrie condiții privind siruri de caractere : dacă un șir de variabile este setată sau dacă două șiruri sunt egale cu fiecare alte.,
Condițiile fișierului Bash
Condițiile fișierului Bash sunt utilizate pentru a verifica dacă un fișier există sau nu, dacă poate fi citit, modificat sau executat.,n)
De exemplu, pentru a verifica daca un fisier este un director, v-ar scrie următorul script
#!/bin/bash# Checking the first argument providedif ]then echo "This is a directory"else echo "Not a directory"fi
Bash Număr de Condiții
Bash număr de condiții sunt utilizate pentru a compara două numere : dacă acestea sunt egale, dacă unul este mai mare decât alta sau mai mic decât altul.,num2
De exemplu, pentru a verifica dacă un număr este egal cu zero, te-ar scrie :
Bash Șir de Condiții
Bash șir de condiții sunt utilizate pentru a verifica daca doua siruri sunt egale sau dacă un șir dacă sunt goale.,
Here is a table of the main Bash string conditions :
Operator | Description |
str1 = str2 | Checks if strings are equal or not |
str1 !,= str2 | Verifică dacă siruri de caractere sunt diferite |
-z str1 | verifica daca str1 este gol |
-n str1 | Verifică dacă str1 nu este gol |
De exemplu, pentru a verifica dacă un utilizator a furnizat o valoare de script-ul dvs., v-ar scrie :
Concluzie
In tutorialul de azi, ai învățat despre Bash „Dacă Altcineva” declarație.
ați văzut, cu exemple, că puteți construi declarații mai complexe: folosind declarații Elif și imbricate.,în cele din urmă, ați descoperit despre testele Bash, ce sunt și cum sunt utilizate pentru a verifica condițiile din scripturi.
dacă sunteți interesat de administrarea sistemului Linux, avem o secțiune completă dedicată acestuia pe site, așa că asigurați-vă că o verificați!