BASH – Bourne-Again Shell


Original: http://cnswww.cns.cwru.edu/php/chet/bash/bash-intro.html

Bash jest shell, lub interpreterem języka poleceń, które pojawi się w systemu operacyjnego GNU. Bash jest zgodnym z sh shell, który zawiera przydatne funkcje z Korn shell (ksh) i powłoki C (csh). Jego celem jest zgodne z IEEE POSIX P1003.2/ISO 9945,2 Shell i standardowych narzędzi. Oferuje on funkcjonalne ulepszenia w sh zarówno programowania i wykorzystania interaktywnych. Ponadto większość sh skrypty mogą być uruchamiane przez Bash bez modyfikacji. Bash jest bardzo przenośny. Wykorzystuje system konfiguracji, który odkrywa cechy platformy kompilacji podczas kompilacji, a więc mogą być zbudowane na prawie każdej wersji systemu UNIX. Porty na systemach typu UNIX, takich jak QNX i Minix i zakaz systemów UNIX, takich jak OS / 2, Windows 95/98 i Windows NT są dostępne. Bash obejmuje następujące funkcje:

Edycja i Zakończenie

Bash oferuje zakład wiersza poleceń edycji, która pozwala użytkownikom na edycję linii poleceń za pomocą znanych emacs lub vi stylu poleceń edycji. Edycja pozwala korekty należy dokonać bez konieczności usunąć z powrotem do punktu błędu lub uruchomić wiersz polecenia na nowo. Wyposażenie edycji to funkcja, która pozwala użytkownikom wykonać polecenia i nazwy plików.

Linia Bash edycji Biblioteka jest w pełni konfigurowalny. Użytkownicy mogą definiować własne klawiszy – działania podejmowane, gdy przycisk jest wciśnięty. Liczba zmiennych Aby dostosować zachowanie edycji są również dostępne.

Historia i Command Re-entry

Funkcja historii Bash zapamiętuje polecenia wprowadzone do powłoki i pozwala im przypomnieć i ponownie wykonana. Lista historii może mieć nieograniczonej wielkości. Bash pozwala użytkownikom na wyszukiwanie poprzednich poleceń i używać części tych poleceń podczas tworzenia nowych. Lista historii mogą być zapisane w całej sesji powłoki.

Bash pozwala kontrolować, które polecenia są zapisywane na liście historii.

Kontrola pracy

Na systemach, które go obsługują, Bash zapewnia interfejs do systemu operacyjnego urządzeń kontroli pracy, które umożliwiają procesy zawieszone i ponownie uruchomiony, i przeniósł się między pierwszym planem a tłem. Bash pozwala na selektywne `zapomnieć” o pracy w tle.

Funkcje Shell i aliasy

Mechanizmy te są dostępne do wiązania wybranych przez użytkownika identyfikatora do listy rozkazów, które będą wykonywane, gdy identyfikator jest wykorzystywany jako nazwa polecenia. Funkcje pozwalają zmienne lokalne i rekursji, a mają dostęp do środowiska powłoki wywołującego. Aliasy mogą być wykorzystywane do tworzenia skrótem nazwy poleceń rozwiń jedno słowo do złożonego polecenia, lub zapewnić, że polecenie nazywa się podstawowy zestaw opcji.

Tablice

Bash wersje nowsze niż bash-2.0 obsługuje tablice indeksowane o nieograniczonej wielkości. Indeks do tablicy jest wyrażeniem arytmetycznym. Tablice mogą być przeznaczone na nową składni przypisania złożonego i kilka builtins mają opcje do pracy w zmiennych tablicowych. Bash zawiera szereg wbudowanych zmiennych tablicowych.

Arytmetyka

Bash pozwala użytkownikom wykonywać arytmetykę liczb całkowitych w każdej bazie od dwóch do sześćdziesięciu czterech. Prawie wszystkich operatorów arytmetycznych języka C dostępne są z tej samej składni i jak w ekspansji C. arytmetyczną kolejnością umożliwia wyrażenie arytmetyczne zostać ocenione, a wynik podstawiony w linii komend. Zmienne powłoki mogą być używane jako argumenty, a wartość wyrażenia może być przypisany do zmiennej.

Wyrażenie arytmetyczne mogą być używane jako polecenia, kod zakończenia polecenia jest wartość wyrażenia.

ANSI-C Cytowanie

Jest nowy cytując składnia, która pozwala backslash-uciekli znaków w ciągi zostać rozszerzona w zależności od standardu ANSI C..
Rozbudowa Tilde

Katalogów domowych użytkowników można rozszerzyć przy użyciu tej funkcji. Słowa zaczynające się tyldą może również zostać rozszerzony do obecnego lub poprzedniego katalogu.

Rozbudowa Brace

Interpretacja nawiasów jest wygodnym sposobem, aby wygenerować listę ciągów, które mają wspólny przedrostek lub przyrostek.

Możliwości podciągu

Bash umożliwia nowe ciągi być tworzone poprzez usunięcie wiodące lub końcowe podciągi z istniejących wartości zmiennych, lub określając offset i długość. Fragmenty wartości zmiennych mogą być dopasowywane do wzorców powłoki i dopasowanie usunięto część lub nowa wartość podstawiona.
Zmienna pośrednia Expansion

Bash sprawia, że ​​łatwo znaleźć wartość zmiennej powłoki, którego nazwa jest wartością innej zmiennej.

Rozszerzone możliwości WE / WY

Bash oferuje kilka funkcji wejścia i wyjścia nie są dostępne w sh, w tym zdolność do:

określić plik lub deskryptorów dla wejścia i wyjścia
czytać z lub pisać do procesów asynchronicznych z wykorzystaniem potoków nazwanych
czytaj linie kończące się ukośnikiem
wyświetli monit na terminalu przed przeczytane
menu Format i interpretować reakcje na nich
echo linie dokładnie, jak wejście bez przetwarzania ewakuacji

Kontrola Komendy wbudowane

Bash wykonuje kilka poleceń wbudowane dać użytkownikom większą kontrolę nad tym, które polecenia są wykonywane. Enable wbudowane umożliwia inne polecenia wbudowane być selektywnie włączony lub wyłączony. Polecenie i wbudowane builtins zmienić kolejność wyszukiwania powłoki poleceń.

W systemach, które zapewniają dynamiczne ładowanie, builtins nowe mogą być ładowane do powłoki uruchomiony z pliku obiektu dzielonego. Te nowe builtins mają dostęp do wszystkich udogodnień powłoki.

Pomoc

Bash zawiera wbudowany instrument pomocy.

Shell opcja Zachowanie

Jest dużo dostosować zachowanie powłoki. Shopt wbudowanego polecenia zapewnia ujednolicony interfejs, który pozwala użytkownikom na zmianę ustawień domyślnych powłoki.

Prompt Dostosowanie

Bash pozwala na pierwotne i wtórne skłania być dostosowane dzięki interpretacji liczby użyjemy sekwencji uciekli znaków specjalnych. Parametry i zmienne rozszerzenie jest również wykonywane na wartościach podstawowych i średnich łańcuchów szybkich, zanim zostaną wyświetlone.

Bezpieczeństwo

Bash zapewnia ograniczoną środowiska powłoki. Możliwe jest również, aby kontrolować wykonanie setuid / setgid skryptów.

Stos Blog

Bash zapewnia `stos katalogów”, na które katalogi mogą być dodawane i usuwane. Katalog bieżący może być zmieniony do dowolnego katalogu w stosie. Łatwo jest przełączać się między dwoma katalogami w stosie. Stack katalog może być zapisane i przywrócone w różnych wywołania powłoki.

Tryb POSIX

Bash jest prawie całkowicie w zgodność POSIX.2. Tryb POSIX zmienia te kilka obszarów, w których domyślne zachowanie Bash różni się od standardowej dopasować standard. W trybie POSIX, Bash jest POSIX.2 zgodny.

Umiędzynarodowienie

Bash zapewnia nowy podając składni, który pozwala struny do tłumaczenia zgodnie z lokalizacją. Locale, w którym skończy się powłoki mogą być zmienione, tak, że wiadomości mogą być same powłoki określonego języka.

W Wyposażenie wiersza polecenia edycji umożliwiają wprowadzanie znaków ośmiobitowych, więc większość z ISO-8859 rodzinie zestawów znaków są obsługiwane.

Pasek poleceń

Bash pozwala na zewnętrzne polecenia, POLECENIA POWŁOKI i funkcje powłoki być planowane. Format używany do wyświetlania informacji na czas mogą być zmieniane przez użytkownika.