Wsporniki z podwójnym kwadratowym [[]]
[[I]] są używane do wyrażeń warunkowych w BASH. [[Jest zaawansowaną wersją pojedynczych kwadratowych nawiasów [] i jest używana do dopasowywania wzorów, wyrażeń regularnych i zaawansowanych wyrażeń warunkowych. [[Operator jest silniejszy niż [i jest preferowany w wielu przypadkach.
#!kosz/bash
String = Linux
jeśli [[$ string == "Linux"]]; Następnie
echo „String to Linux”
fi
W poniższym kodzie operator nawiasów podwójnych kwadratowych służy do sprawdzenia, czy wartość zmiennej $ ciąg jest równa ciągu „Linux”:
Pojedyncze kwadratowe nawiasy []
[I] są używane do wyrażeń warunkowych w BASH. Nazywa się to również polecenie „test”. Operator jednoczesnego kwadratowego wsporników [jest również używany do wyrażeń warunkowych, ale ma więcej ograniczeń niż [[[. Przydaje się do podstawowych porównań i testów, takich jak sprawdzanie, czy plik istnieje lub czy ciąg jest pusty.
#!kosz/bash
# Zdefiniuj nazwę pliku do sprawdzenia
file = "/home/aaliyan/dokumenty/bashfile2.cii"
# Sprawdź, czy plik istnieje
jeśli [-f $ plik]; Następnie
echo „Plik istnieje”
w przeciwnym razie
echo „Plik nie istnieje”
fi
Ten skrypt sprawdza, czy plik o nazwie „BashFile2.sh ”istnieje w odpowiednim katalogu, a jeśli plik istnieje, drukuje wiadomość„ Plik istnieje ”do konsoli, inaczej wydrukuje„ plik nie istnieje ”:
Nawiasy ()
Operator nawiasów (służy do uruchamiania poleceń w środowisku subshell. Oznacza to, że wszelkie zmiany wprowadzone w środowisku w nawiasach nie wpływają na środowisko powłoki nadrzędnej.
#!kosz/bash
# Zmień katalog na/home/użytkownik/katalog i wymień jego zawartość
(cd/home/aaliyan/dokumenty && ls)
W poniższym kodzie operator nawiasów jest używany do zmiany katalogu na/home/aaliyan/dokumenty i uruchomienie polecenia LS w subshellowie:
Podwójne nawiasy (())
((I)) są używane do oceny arytmetycznej i obsługuje bardziej zaawansowane cechy niż operator samotnych nawiasów (takich jak operacje bitowe, poniżej znajduje się przykład skryptu Bash, który pokazuje użycie podwójnych nawiasów:
#!kosz/bash
# Zdefiniuj wartości A, B i C
A = 7
B = 9
C = 2
# Sprawdź, czy suma a i b jest większa niż c
if (($ a + $ b> $ c)); Następnie
echo „Suma A i B jest większa niż C”
fi
W poniższym kodzie operator podwójnych nawiasów służy do sprawdzenia, czy suma zmiennych $ a i $ b jest większa niż wartość zmiennej $ c:
Aby dalej zrozumieć różnice między tymi operatorami, podałem tabelę, która może pomóc Ci napisać bardziej wydajny kod BASH i bardziej efektywnie korzystać z tych operatorów BASH:
Operator | Zamiar | Przykład |
[[ wyrażenie ]] | Wyrażenia warunkowe | jeśli [[$ string == „Linux”]]; Następnie echo „String to Linux” |
[ wyrażenie ] | Podstawowe wyrażenia warunkowe | jeśli [-f $ plik]; Następnie echo „Plik istnieje” |
( Komenda ) | Uruchom polecenia w środowisku subshell | (CD/home/user/Directory && ls) |
(( wyrażenie )) | Działania arytmetyczne | if (($ a + $ b> $ c)); Następnie ech „suma A i B jest większa niż C” |
Wniosek
Operatorzy bash [[]], [], () i (()) mają różne zastosowania i składni. Operator podwójnego kwadratowego [[]] jest używany do dopasowywania wzorów i porównywania ciągów, podczas gdy operator pojedynczych kwadratowych [] jest używany do instrukcji warunkowych i testów plików. Operator nawiasów () służy do grupowania poleceń razem, a do oceny arytmetycznej używany jest operator podwójnych nawiasów (()). Ważne jest, aby użyć odpowiedniego operatora do danego zadania, aby upewnić się, że skrypty bash są dokładne i wydajne.