Doble firkantede parenteser [[]]
[[Og]] brukes til betingede uttrykk i bash. [[Er en avansert versjon av enkelt firkantede parentes [] og brukes til mønstermatching, vanlige uttrykk og avanserte betingede uttrykk. [[Operatøren er kraftigere enn [og er å foretrekke for mange tilfeller.
#!BIN/BASH
String = Linux
if [[$ string == "linux"]]; deretter
ekko "Strengen er Linux"
fi
I den følgende koden brukes operatøren med dobbelt firkantet parentes for å sjekke om verdien på variabelen $ streng er lik strengen “Linux”:
Enkelt firkantede parentes []
[Og] brukes til betingede uttrykk i bash. Det kalles også “Test” -kommandoen. Den enkle firkantede parentesoperatøren [brukes også til betingede uttrykk, men har flere begrensninger enn [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[. Det er nyttig for grunnleggende sammenligninger og tester, for eksempel å sjekke om en fil eksisterer eller om en streng er tom.
#!BIN/BASH
# Definer navnet på filen for å sjekke
fil = "/home/aaliyan/dokumenter/bashfile2.sh "
# Sjekk om filen eksisterer
hvis [-f $ fil]; deretter
ekko "Filen eksisterer"
ellers
ekko "Filen eksisterer ikke"
fi
Dette skriptet sjekker om en fil som heter “Bashfile2.SH ”eksisterer i den respektive katalogen, og hvis filen eksisterer, skriver den ut meldingen“ Filen eksisterer ”til konsollen ellers vil den skrive ut“ Filen eksisterer ikke ”:
Parenteser ()
Parentes -operatøren (brukes til å kjøre kommandoer i et underskallmiljø. Dette betyr at eventuelle endringer som gjøres i miljøet i parentesene ikke påvirker foreldreretten.
#!BIN/BASH
# Endre katalog til/hjemme/bruker/katalog og liste innholdet
(CD/Home/Aaliyan/Documents && ls)
I følgende kode brukes parentesoperatøren til å endre katalogen til/Home/Aaliyan/Documents og kjøre LS -kommandoen innenfor et underskall:
Doble parenteser (())
((Og)) brukes til aritmetisk evaluering, og den støtter mer avanserte funksjoner enn den enkelt parentes -operatøren (for eksempel bitvis operasjoner, nedenfor er et eksempel på bashpt som demonstrerer bruk av doble parenteser:
#!BIN/BASH
# Definere verdiene til a, b og c
a = 7
B = 9
C = 2
# Sjekk om summen av a og b er større enn c
if (($ a + $ b> $ c)); deretter
ekko "summen av A og B er større enn C"
fi
I den følgende koden brukes operatøren med dobbelt parenteser til å sjekke om summen av variablene $ a og $ b er større enn verdien på variabelen $ c:
For ytterligere å forstå forskjellene mellom disse operatørene har jeg gitt en tabell som kan hjelpe deg med å skrive mer effektiv bashode og bruke disse bash -operatørene mer effektivt:
Operatør | Hensikt | Eksempel |
[[uttrykk]] | Betingede uttrykk | if [[$ string == “Linux”]]; da ekko "Strengen er linux" |
[uttrykk] | Grunnleggende betingede uttrykk | hvis [-f $ fil]; ekko "filen eksisterer" |
(Kommando) | Kjør kommandoer i et underskallmiljø | (CD/Home/User/Directory && LS) |
((uttrykk)) | Aritmetiske operasjoner | if (($ a + $ b> $ c)); ekko da “summen av A og B er større enn C” |
Konklusjon
Bash -operatørene [[]], [], () og (()) har forskjellige bruksområder og syntaks. Dobbelt firkantede parentes [[]] -operatøren brukes til mønstermatching og strengsammenligning, mens den enkelt firkantede brakettene [] operatøren brukes til betingede utsagn og filtester. Parentesen () -operatøren brukes til å gruppere kommandoer sammen, og dobbelt parenteser (()) operatør brukes til aritmetisk evaluering. Det er viktig å bruke den aktuelle operatøren for oppgaven for å sikre at bashskriptene dine er nøyaktige og effektive.