Ten przewodnik zanurzy się głęboko w różnice i podobieństwa między cii i muszle bash.
Linux Shell
W Linux powłokę jest dedykowanym programem do interpretacji poleceń. Interpretuje język poleceń i mówi systemowi, aby wykonywali opisane zadania. To nie jest część jądra, ale może wykonywać zadania, takie jak uruchamianie programów i tworzenie plików.
Funkcjonalność powłoki jest lepiej zrozumiana z przykładem. Otwórz terminal w swoim systemie i uruchom następujące polecenie:
$ data
Tutaj zauważyliśmy, co następuje:
Shells mogą również mieć własne języki. Na przykład scenariusze bash jest silne w automatyzacji bardzo złożonych zadań i osiągnięciu cudów.
Istnieje wiele skorup dostępnych dla platformy Linux. Oczywiście najbardziej popularną jest powłoka bash. Oto kilka alternatywnych skorup, które warto sprawdzić:
Bourne Shell (SH)
Bourne Shell jest domyślną powłoką dla wersji 7 UNIX. Pierwotnie opracowany przez Stephena Bourne'a w Bell Labs, był to zamiennik Thompson Shell. Bourne Shell rozpoczął swoją podróż w 1979 roku. Dowiedz się więcej o historii Bourne Shell na Wikipedii.
Nawet do dziś, Bourne Shell jest dostępny w prawie wszystkich systemach Linux. Lokalizacja binarnego jest następująca:
$ które sh
Systemy podobne do unix nadal mają Bourne Shell /usr/bin/sh. To może nie być powłoka Bourne, ale symboliczny/twardy link do bardziej kompatybilnej powłoki. Możesz to zweryfikować, uruchamiając następujące polecenie:
$ plik -h /bin /sh
cii Shell to także nazwa języka programowania poleceń. Ten język jest opisany przez Posx Standard, że wszystkie systemy UNIX i UNIX muszą przestrzegać. Bourne Shell, którą do tej pory omówiliśmy, jest jednym wdrożeniem cii.
Bourne ponownie Shell (Bash)
Teraz doszliśmy do nowoczesnej skorupy, którą wszyscy znamy i kochamy - bash Shell, znana również jako „Bourne Again Shell.„Nazywanie to gra słów wskazująca, że zastępuje powłokę Bourne.
Opracowany przez Briana Foxa dla projektu GNU, Bash jest zarówno powłoką Unix, jak i językiem dowodzenia. Został wydany po raz pierwszy w 1989 roku. Od tego czasu była to domyślna powłoka logowania dla większości dystrybucji Linux. Dowiedz się więcej o historii Bash Shell na Wikipedii.
Bash to superset cii, co oznacza, że zawiera cechy cii I więcej. Jako język większość poleceń robi to samo co cii. Jednakże, Grzmotnąć nie jest skorupą zgodną z POSIX, ale dialekt języka skorupy POSIX. Bash ma być zgodną implementacją części skorupy IEEE Posx i narzędzi specyfikacji IEEE POSIX (IEEE Standard 1003.1).
Sprawdź lokalizację binarnej binarnej Bash:
$, który bash
Różnice między SH i Bash
Dostarczył kontekst historyczny, cii a Bash ma więcej podobieństw niż różnice, ponieważ jedno jest lepszym wdrożeniem drugiego. Niezależnie od tego, oto pewne zauważalne różnice funkcji, które należy wiedzieć.
Domyślna powłoka
W większości dzisiejszych współczesnych systemów Bash jest domyślną skorupą.
Lokalizacja binarna
Sprawdź binarną lokalizację obu skorup:
$ które sh
$, który bash
Funkcja
W porównaniu do cii, Bash oferuje znacznie większą elastyczność i składnię, które wyglądają jak nowoczesny język programowania. Oto kilka dodatkowych funkcji, które oferuje Bash cii:
Zgodność z POSIX
Domyślnie Bash nie jest zgodny z POSIX, podczas gdy cii Jest. Możemy jednak uruchomić Bash w trybie zgodnym z POSIX z następującym poleceniem:
$ bash - -posix
Jeśli piszesz skrypt bash, ale potrzebujesz standardu POSIX, użyj następującego kodu na początku:
#!/bin/bash
Set -o POSIX
Tutaj ustawić Polecenie mówi Bashowi, aby włączyła tryb POSIX.
Łatwość użycia
Bash oferuje bardziej nowoczesny język wiersza poleceń w porównaniu do cii. Pod tym względem będziesz miał wygodniejszy czas za pomocą basha.
Ruchliwość
W porównaniu do Bash, cii oferuje lepszą przenośność.
Ponieważ cii jest zgodny z POSIX, każda powłoka obsługująca POSIX będzie mogła uruchomić cii Skrypty. Na przykład Bash może działać cii Skrypty w trybie POSIX.
Skrypty
Kiedy piszesz skrypt w BASH, kod jest gwarantowany jedynie kompatybilny z Bash.
Z drugiej strony, podczas scenariuszy cii, Kod można uruchomić na dowolnej powładzie. To dlatego, że cii definiuje oryginalny język skontaktowy.
Wniosek
W tym artykule badaliśmy historię, podobieństwa i różnice między cii i Bash. Cii jest poprzednikiem Bash. Oba są dostępne we wszystkich nowoczesnych systemach Unix/Linux. Podczas gdy Bash oferuje wygodniejsze i łatwe w użyciu wrażenia, cii oferuje kompatybilność, przenośność i znormalizowane składni/zachowanie.
Czy jesteś nowy w Bash Scripting? Ten samouczek scenariuszy dla początkujących obejmuje wszystko, co niezbędne do napisania skryptów Bash. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i samouczków.