Porównaj Shell VS. Grzmotnąć

Porównaj Shell VS. Grzmotnąć
Każdy nowoczesny system operacyjny Unix/Linux jest wyposażony w cii a skorupy bash zainstalowane domyślnie. Podczas gdy oba mają bardzo podobny charakter, jeden oferuje więcej niż drugi.

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:

  • Domyślna powłoka przyjęła polecenie „datę”, zinterpretowała i uruchomiła data narzędzie.
  • Wydrukował również wyjście na ekranie konsoli.

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ć:

  • Zsh z OH MOY ZSH
  • Shell Fish

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:

  • Bash obsługuje ukończenie wiersza poleceń z PATKA klucz
  • Przeglądaj historię poleceń za pomocą W GÓRĘ Klucz strzałki lub „Ctrl + R”
  • Obliczenia arytmetyczne bez narzędzi innych firm
  • Tablice asocjacyjne
  • Skróty klawiszowe
  • Obsługa dostosowywania domyślnej prezentacji Bash
  • Epokekundy i epokrealtime zmienne środowiskowe
  • Rozszerzenia klamry

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.