Polecenie Linux Grzmotnąć to jestsh-kompatybilny interpreter języka poleceń, który wykonuje polecenia odczytane ze standardowego wejścia lub z pliku.Grzmotnąć zawiera również przydatne funkcje z powłok Korn i C (ksh icsh).
Opcje Bash
Oprócz opcji powłoki pojedynczego znaku udokumentowanych w opisiezestaw wbudowane polecenie,grzmotnąć interpretuje następujące opcje po wywołaniu:
- -do strunowy: Jeśli-do opcja jest obecna, a następnie polecenia są odczytywane strunowy . Jeśli są argumenty po strunowy , są przypisane do parametrów pozycyjnych, zaczynając od$0.
- -ja: Jeśli-ja opcja jest obecna, powłoka jest interaktywny .
- -l: Robićgrzmotnąć działa tak, jakby został wywołany jako powłoka logowania.
- -r: Jeśli-r opcja jest obecna, powłoka staje się ograniczony.
- -s: Jeśli-s opcja jest obecna, lub jeśli po przetworzeniu opcji nie pozostają żadne argumenty, polecenia są odczytywane ze standardowego wejścia. Ta opcja umożliwia ustawienie parametrów pozycyjnych podczas wywoływania powłoki interaktywnej.
- -RE: Lista wszystkich cudzysłowów poprzedzonych znakami$ jest drukowany na standardowym wyjściu. Są to ciągi podlegające translacji językowej, gdy bieżące locale nie jestdo lubPOSIX. Oznacza to -n opcja; żadne polecenia nie zostaną wykonane.
- - + O shopt_option : shopt_option jest jedną z opcji powłoki zaakceptowanych przezshopt wbudowany. Jeśli shopt_option jest obecny,-O ustawia wartość tej opcji, i+ O wyłączy go. Jeśli shopt_option nie podano, nazwy i wartości opcji powłoki zaakceptowane przezshopt są drukowane na standardowym wyjściu. Jeśli opcja wywołania jest + O, wyjście jest wyświetlane w formacie, który może być ponownie użyty jako wejście.
- --: ZA-- sygnalizuje koniec opcji i wyłącza dalsze przetwarzanie opcji. Wszelkie argumenty po-- są traktowane jako nazwy plików i argumenty. Argument z- jest równa--.
Grzmotnąć interpretuje również wiele opcji wieloznakowych. Te opcje muszą pojawić się w wierszu poleceń, zanim rozpoznane zostaną opcje pojedynczego znaku:
- --dump-po-string: Równoważny-RE, ale wynik jest w GNU gettext po (przenośny obiekt) format pliku.
- - struny -dump: Równoważny-RE.
- --Wsparcie: Wyświetl komunikat o użyciu na standardowym wyjściu i zakończ działanie pomyślnie.
- --init-file: plik i --rcfile plik : Wykonuj polecenia z plik zamiast standardowego osobistego pliku inicjującego ~ / .bashrc jeśli powłoka jest interaktywna.
- --Zaloguj Się: Równoważny-l.
- --noedycja: Nie używaj GNUCzytaj linię biblioteka do czytania linii poleceń, gdy powłoka jest interaktywna.
- --brak profilu: Nie czytaj ogólnego pliku startowego / etc / profile lub dowolny z osobistych plików inicjujących ~ / .bash_profile , ~ / .bash_login , lub ~ / .profile . Domyślnie,grzmotnąć odczytuje te pliki, gdy jest wywoływana jako powłoka logowania.
- --norc: Nie czytaj i nie uruchamiaj osobistego pliku inicjującego ~ / .bashrc jeśli powłoka jest interaktywna. Ta opcja jest domyślnie włączona, jeśli powłoka jest wywoływana jakosh.
- --posix: Zmień zachowaniegrzmotnąć gdzie domyślna operacja różni się od standardu POSIX, aby dopasować standard ( tryb posix ).
- --ograniczony: Powłoka zostaje ograniczona.
- --rpm-wymaga: Utwórz listę plików wymaganych do uruchomienia skryptu powłoki. Oznacza to "-n" i podlega tym samym ograniczeniom, co sprawdzanie błędów w czasie kompilacji; Backticks, testy i evals nie są analizowane, więc niektóre zależności mogą zostać pominięte.
- --gadatliwy: Równoważny-v.
- --wersja: Pokaż informacje o wersji dla tego wystąpieniagrzmotnąć na standardowe wyjście i pomyślnie zakończyć.
Argumenty
Jeśli argumenty pozostają po przetworzeniu opcji, a nie-do ani-s podano opcję, przyjmuje się, że pierwszym argumentem jest nazwa pliku zawierającego polecenia powłoki. Jeśli grzmotnąć jest przywoływany w ten sposób,$0 jest ustawiona na nazwę pliku, a parametry pozycyjne są ustawione na pozostałe argumenty.Grzmotnąć czyta i wykonuje polecenia z tego pliku; następnie wychodzi.Grzmotnąćstatus wyjścia to kod zakończenia ostatniego polecenia wykonanego w skrypcie. Jeśli nie zostanie wykonane żadne polecenie, kod zakończenia wynosi 0. Najpierw próbuje się otworzyć plik w bieżącym katalogu, a jeśli nie zostanie znaleziony żaden plik, wówczas powłoka przeszuka katalogi wŚCIEŻKA dla skryptu.
Wezwanie
ZA powłoka logowania to taki, którego pierwszym znakiem jest zero-lub zaczęło się od--Zaloguj Się opcja.
Na interaktywny shell jest uruchamiany bez argumentów nie-opcyjnych i bez-do opcja, której standardowe wejście i wyjście są podłączone do zacisków zgodnie z oznaczeniem isatty (3) lub jeden rozpoczęty z-ja opcja.PS1 jest ustawione i $- obejmuje, jeśli bash jest interaktywny, pozwalając skryptowi powłoki lub plikowi startowemu przetestować ten stan.
Poniższe akapity opisują, w jaki sposóbgrzmotnąć wykonuje swoje pliki startowe. Jeśli którykolwiek plik istnieje, ale nie można go odczytać,grzmotnąć zgłasza błąd. Tildes są rozszerzane w nazwach plików, jak opisano w Tilde Expansion.
Gdygrzmotnąć jest wywoływany jako interaktywna powłoka logowania lub jako nieinteraktywna powłoka z--Zaloguj Się opcja, najpierw odczytuje i wykonuje polecenia z pliku / etc / profile , jeśli ten plik istnieje. Po przeczytaniu tego pliku, szuka ~ / .bash_profile , ~ / .bash_login , i ~ / .profile , w tej kolejności, oraz czyta i wykonuje polecenia od pierwszego, które istnieje i jest czytelne. The--brak profilu Opcja może być używana, gdy powłoka jest uruchamiana w celu zahamowania tego zachowania.
Gdy powłoka logowania zostanie zamknięta,grzmotnąć czyta i wykonuje polecenia z pliku ~ / .bash_logout , jeśli istnieje.
Kiedy zostanie uruchomiona interaktywna powłoka, która nie jest powłoką logowania,grzmotnąć czyta i wykonuje polecenia z ~ / .bashrc , jeśli ten plik istnieje. Może to zostać zahamowane przez użycie--norc opcja. The--rcfile plik opcja wymusigrzmotnąć czytać i wykonywać polecenia z plik zamiast ~ / .bashrc .
Gdygrzmotnąć jest uruchamiany nieinteraktywnie - na przykład w celu uruchomienia skryptu powłoki - szuka zmiennejBASH_ENV w środowisku rozszerza swoją wartość, jeśli pojawia się tam, i używa rozszerzonej wartości jako nazwy pliku do odczytu i wykonania.Grzmotnąć zachowuje się tak, jakby wykonano następujące polecenie:
jeśli -n "$ BASH_ENV"; następnie . "$ BASH_ENV"; fi
ale wartośćŚCIEŻKA zmienna nie jest używana do wyszukiwania nazwy pliku. Jeśligrzmotnąć jest wywoływana z nazwąsh, próbuje naśladować zachowanie uruchamiania historycznych wersjish tak ściśle, jak to możliwe, jednocześnie dostosowując się do standardu POSIX. Po wywołaniu jako interaktywna powłoka logowania lub nieinteraktywna powłoka z--Zaloguj Się opcja, najpierw próbuje odczytać i wykonać polecenia z / etc / profile i ~ / .profile , w tej kolejności. The--brak profilu Opcja może być wykorzystana do zahamowania tego zachowania. Po wywołaniu jako interaktywna powłoka z nazwą sh, grzmotnąć szuka zmiennejENV, rozwija swoją wartość, jeśli jest zdefiniowana, i używa rozszerzonej wartości jako nazwy pliku do odczytu i wykonania. Od powłoki wywołanej jakosh nie próbuje czytać i wykonywać poleceń z innych plików startowych,--rcfile opcja nie ma wpływu. Nieinteraktywna powłoka wywoływana z nazwąsh nie próbuje odczytać żadnych innych plików startowych. Po wywołaniu jakosh, grzmotnąć wchodzi posix tryb po odczytaniu plików startowych. Gdygrzmotnąć jest uruchomiony w posix tryb, jak w przypadku--posix opcja linii poleceń, jest zgodna ze standardem POSIX dla plików startowych. W tym trybie interaktywne powłoki rozszerzająENV Zmienna i komendy są odczytywane i wykonywane z pliku, którego nazwa jest rozszerzoną wartością. Żadne inne pliki startowe nie są czytane. Grzmotnąć próbuje ustalić, kiedy jest uruchamiany przez zdalnego demona powłoki, zwykle rshd . Jeśli grzmotnąć określa, że jest on uruchamiany przez rshd , odczytuje i wykonuje polecenia z ~ / .bashrc , jeśli ten plik istnieje i jest czytelny. Nie zrobi tego, jeśli zostanie wywołany jakosh. The--norc opcja może być używana do zahamowania tego zachowania, a--rcfile opcja może być użyta do wymuszenia odczytu innego pliku, ale rshd zazwyczaj nie wywołuje powłoki z tymi opcjami ani nie pozwala na ich określenie. Jeśli powłoka jest uruchamiana z efektywnym identyfikatorem użytkownika (grupy), nie jest równa rzeczywistemu identyfikatorowi użytkownika (grupy) i identyfikatorowi-p opcja nie jest dostarczana, pliki startowe nie są odczytywane, funkcje powłoki nie są dziedziczone ze środowiska,SHELLOPTS zmienna, jeśli pojawia się w środowisku, jest ignorowana, a efektywny identyfikator użytkownika jest ustawiony na rzeczywisty identyfikator użytkownika. Jeśli-p opcja jest dostarczana przy wywołaniu, zachowanie podczas uruchamiania jest takie samo, ale efektywny identyfikator użytkownika nie jest resetowany. Następujące definicje są używane w dalszej części tego dokumentu: Zarezerwowane słowa to słowa, które mają specjalne znaczenie dla powłoki. Następujące słowa są uznawane za zastrzeżone, gdy są niecałkowite i albo pierwsze słowo prostego polecenia, albo trzecie słowo awalizkalubdla dowództwo: ! case do done elif else esac fi for function if in select then until while {} czas ZA proste polecenie jest sekwencją opcjonalnych przypisań zmiennych, po których następujepusty-separowane słowa i przekierowania i zakończone przez operator kontroli . Pierwsze słowo określa polecenie do wykonania i jest przekazywane jako zero. Pozostałe słowa są przekazywane jako argumenty do wywoływanego polecenia. Zwracana wartość a proste polecenie jest stanem wyjścia lub 128+ n jeśli polecenie zostanie zakończone sygnałem n . ZA rurociąg jest sekwencją jednego lub więcej poleceń oddzielonych przez znak|. Format potoku to czas -p ! dowództwo | command2 … . Standardowe wyjście z dowództwo jest podłączony za pomocą rury do standardowego wejścia command2 . To połączenie jest wykonywane przed wszelkimi przekierowaniami określonymi przez polecenie. Jeśli zarezerwowane słowo! poprzedza potok, status wyjścia tego potoku jest logicznym NOTem o statusie wyjścia ostatniego polecenia. W przeciwnym razie stan potoku jest stanem wyjścia ostatniego polecenia. Powłoka czeka na zakończenie wszystkich poleceń w potoku przed zwróceniem wartości. Jeśliczas słowo zarezerwowane poprzedza potok, czas, który upłynął, a także czas użytkownika i system zużyty przez jego wykonanie, są zgłaszane, gdy potok kończy się. The-p opcja zmienia format wyjściowy na format określony przez POSIX. TheFORMAT CZASU zmienna może być ustawiona na ciąg formatujący, który określa sposób wyświetlania informacji o taktowaniu. Każde polecenie w potoku jest wykonywane jako oddzielny proces (na przykład w podpowłoce). ZA lista jest sekwencją jednego lub większej liczby potoków rozdzielonych przez jeden z operatorów;, &, &&, lub||i opcjonalnie zakończone jednym z nich;, &, lub Spośród tych operatorów list,&& i|| mają równe pierwszeństwo, a następnie; i&, które mają równy priorytet. Sekwencja jednego lub więcej nowych znaków może pojawić się w lista zamiast średnika, aby ograniczyć polecenia. Jeśli polecenie zostanie przerwane przez operatora kontroli&, powłoka wykonuje polecenie w tło w podpowłoce. Powłoka nie czeka na zakończenie polecenia, a status powrotu wynosi 0. Polecenia oddzielone znakiem a; są wykonywane sekwencyjnie; powłoka czeka na zakończenie każdego polecenia. Status powrotu jest stanem wyjściowym ostatniego wykonanego polecenia. Operatorzy kontroli&& i|| oznaczają odpowiednio listy ORAZ i listy OR. Lista AND ma postać command1 && command2 command2 jest wykonywane, jeśli i tylko wtedy, command1 zwraca status wyjścia równy zero. Lista OR ma postać command1 || command2 command2 jest wykonywane wtedy i tylko wtedy, gdy command1 zwraca niezerowy status wyjścia. Status powrotu list AND i OR jest stanem wyjścia ostatniego polecenia wykonanego na liście. ZA złożone polecenie jest jednym z następujących: (lista) : lista jest wykonywane w podpowłoce. Przypisania zmiennych i wbudowane polecenia wpływające na otoczenie powłoki nie działają po zakończeniu wykonywania polecenia. Status powrotu to status wyjścia lista . {list; } : lista jest po prostu wykonywane w bieżącym środowisku powłoki. lista musi być zakończone znakiem nowej linii lub średnikiem. Jest to znane jako polecenie grupy . Status powrotu to status wyjścia lista . Zauważ, że w przeciwieństwie do metaznaków( i), { i} są zastrzeżone słowa i musi wystąpić, gdy zastrzeżone słowo może zostać rozpoznane. Ponieważ nie powodują one podziału tekstu, muszą być oddzielone lista białymi znakami. ((wyrażenie)) : The wyrażenie jest oceniany zgodnie z zasadami opisanymi w Ewaluacja arytmetyczna. Jeśli wartość wyrażenia jest różna od zera, zwracany jest 0; w przeciwnym razie status powrotu wynosi 1. Jest to dokładnie równoważnepozwolić ' wyrażenie '. wyrażenie : Zwraca status 0 lub 1 w zależności od oceny wyrażenia warunkowego wyrażenie . Wyrażenia składają się z praw podstawowych opisanych poniżej Wyrażenia warunkowe. Rozdzielanie słów i rozwijanie nazw ścieżek nie są wykonywane na słowach między i; Rozszerzanie tyld, ekspansja parametrów i zmiennych, rozwijanie arytmetyczne, podstawianie komend, podstawianie procesów i usuwanie cudzysłowów. Kiedy== i!= operatory są używane, ciąg na prawo od operatora jest uważany za wzór i dopasowany zgodnie z zasadami opisanymi wDopasowywanie wzorców. Wartością zwracaną jest 0, jeśli łańcuch pasuje lub nie pasuje odpowiednio do wzoru, a 1 do innego. Każda część wzorca może być cytowana, aby zmusić ją do dopasowania w postaci ciągu. Wyrażenia można łączyć za pomocą następujących operatorów, wymienionych w kolejności malejącej kolejności: The&& i|| operatorzy nie oceniają wyrażenie2 jeśli wartość wyrażenie1 jest wystarczający do określenia wartości zwracanej całego wyrażenia warunkowego. W nieinteraktywnej powłoce lub interaktywnej powłoce, w której interaktywne_komentarze opcja doshopt wbudowane jest włączone, słowo zaczynające się na# powoduje, że słowo i wszystkie pozostałe znaki w tym wierszu są ignorowane. Interaktywna powłoka bezinteraktywne_komentarze włączona opcja nie zezwala na komentarze. The interaktywne_komentarze opcja jest domyślnie włączona w powłokach interaktywnych. Cytowanie służy do usuwania specjalnego znaczenia pewnych znaków lub słów do powłoki. Cytowania można użyć do wyłączenia specjalnego traktowania znaków specjalnych, aby zapobiec rozpoznawaniu słów zarezerwowanych jako takich i aby zapobiec rozszerzeniu parametrów. Każdy z metaznaki wymienione powyżej wDefinicje ma specjalne znaczenie dla powłoki i musi być cytowany, jeśli ma reprezentować siebie. Gdy używane są obiekty ekspansji historii komend, to ekspansja historii charakter, zwykle!, muszą być cytowane, aby zapobiec ekspansji historii. Istnieją trzy mechanizmy cytowania: uciekaj postać , pojedyncze cytaty i podwójne cudzysłowy. Nienotowany odwrotny ukośnik () jest uciekaj postać . Zachowuje on literalną wartość następnego znaku, za którym następuje, z wyjątkiem Ujęcie znaków w pojedyncze cudzysłowy zachowuje literalną wartość każdego znaku w cudzysłowach. Pojedyncza oferta nie może występować między pojedynczymi cudzysłowami, nawet jeśli poprzedza je odwrotny ukośnik. Ujęcie znaków w cudzysłowy zachowuje literalną wartość wszystkich znaków w cudzysłowie, z wyjątkiem$, ', i. Postaci$ i' zachowują swoje specjalne znaczenie w podwójnych cudzysłowach. Odwrotny ukośnik zachowuje swoje specjalne znaczenie tylko wtedy, gdy występuje po nim jeden z następujących znaków:$, ', ', , lub Specjalne parametry* i@ mają specjalne znaczenie w podwójnym cudzysłowie. Słowa formy$' strunowy "są traktowane specjalnie. Słowo rozwija się do strunowy , z zastąpionymi znakami ukośnika odwróconego zgodnie z normą ANSI C. Ukośne sekwencje odwrotne, jeśli są obecne, są dekodowane w następujący sposób: Rozwinięty wynik jest jednokontekstowy, tak jakby znak dolara nie był obecny. Dwu cudzysłowy ciąg poprzedzony znakiem dolara ($) spowoduje, że łańcuch zostanie przetłumaczony zgodnie z bieżącymi ustawieniami narodowymi. Jeśli bieżące ustawienia regionalne todo lubPOSIX, znak dolara jest ignorowany. Jeśli łańcuch jest tłumaczony i zastępowany, zamiennik jest podwójnie cytowany. ZA parametr to jednostka przechowująca wartości. To może być imię , liczba lub jeden ze znaków specjalnych wymienionych wSpecjalne parametry. Do celów powłoki, a zmienna jest parametrem oznaczonym przez a imię . Zmienna ma wartość i zero lub więcej atrybuty . Atrybuty są przypisywane za pomocąogłosić wbudowane polecenie. Parametr jest ustawiony, jeśli przypisano mu wartość. Łańcuch zerowy jest prawidłową wartością. Po ustawieniu zmiennej, można ją anulować tylko za pomocąnieoprawny wbudowane polecenie. ZA zmienna może być przypisany przez oświadczenie w formie: imię = wartość Jeśli wartość nie podano, zmienna ma przypisany pusty łańcuch. Wszystko wartości przechodzą ekspansję tyldy, ekspansję parametrów i zmiennych, podstawianie poleceń, rozszerzanie arytmetyczne i usuwanie cudzysłowów. Jeśli zmienna ma swojąliczba całkowita zestaw atrybutów wartość podlega rozszerzeniu arytmetycznemu, nawet jeśli rozszerzenie $ ((…)) nie jest używane. Podział słów nie jest wykonywany, z wyjątkiem'$@' jak wyjaśniono wSpecjalne parametry. Rozszerzanie nazwy ścieżki nie jest wykonywane. Instrukcje przypisania mogą również pojawiać się jako argumenty dlaogłosić, skład, eksport, tylko czytać, i lokalny wbudowane polecenia. ZA parametr pozycyjny jest parametrem oznaczonym jedną lub większą liczbą cyfr, innych niż jedna cyfra 0. Parametry pozycyjne są przypisywane z argumentów powłoki podczas jej wywoływania i mogą być ponownie przypisywane za pomocązestaw wbudowane polecenie. Parametry pozycyjne nie mogą być przypisane do instrukcji przypisania. Parametry pozycyjne są tymczasowo zastępowane, gdy wykonywana jest funkcja powłoki. Gdy rozszerzony jest parametr pozycyjny składający się z więcej niż jednej cyfry, musi on być ujęty w nawiasy klamrowe. Powłoka traktuje kilka parametrów specjalnie. Do tych parametrów można się odwoływać; przypisanie do nich nie jest dozwolone. Następujące zmienne są ustawione przez powłokę: GRZMOTNĄĆ: Rozszerza się do pełnej nazwy pliku użytej do wywołania tego wystąpieniagrzmotnąć. BASH_VERSINFO: Tylko do odczytu zmienna tablicowa, której członkowie przechowują informacje o wersji dla tego wystąpienia grzmotnąć. Wartości przypisane do elementów tablicy są następujące: BASH_VERSION: Rozwija się do ciągu znaków opisującego wersję tego wystąpieniagrzmotnąć. COMP_CWORD: Indeks do$ {COMP_WORDS} słowa zawierającego bieżącą pozycję kursora. Ta zmienna jest dostępna tylko w funkcjach powłoki wywoływanych przez programowalne opcje ukończenia. COMP_LINE: Bieżąca linia poleceń. Ta zmienna jest dostępna tylko w funkcjach powłoki i komendach zewnętrznych wywoływanych przez programowalne opcje ukończenia. COMP_POINT: Indeks bieżącej pozycji kursora względem początku bieżącego polecenia. Jeśli aktualna pozycja kursora znajduje się na końcu bieżącego polecenia, wartość tej zmiennej jest równa$ {# COMP_LINE}. Ta zmienna jest dostępna tylko w funkcjach powłoki i komendach zewnętrznych wywoływanych przez programowalne opcje ukończenia. COMP_WORDS: Zmienna tablicowa składająca się z poszczególnych słów w bieżącej linii poleceń. Ta zmienna jest dostępna tylko w funkcjach powłoki wywoływanych przez programowalne opcje ukończenia. DIRSTACK: Zmienna tablicowa zawierająca bieżącą zawartość stosu katalogów. Katalogi pojawiają się w stosie w kolejności, w jakiej są wyświetlane przezdirs wbudowany. Przypisanie członkom tej zmiennej tablicowej może być użyte do modyfikacji katalogów już znajdujących się w stosie, ale dopushd ipopd Aby dodawać i usuwać katalogi, należy użyć poleceń builtins. Przypisanie do tej zmiennej nie zmieni bieżącego katalogu. JeśliDIRSTACK jest nieustawiony, traci swoje specjalne właściwości, nawet jeśli zostanie później zresetowany. EUID: Rozszerza się na efektywny identyfikator użytkownika bieżącego użytkownika, zainicjowany przy uruchamianiu powłoki. Ta zmienna jest tylko do odczytu. FUNCNAME: Nazwa aktualnie wykonywanej funkcji powłoki. Ta zmienna istnieje tylko wtedy, gdy wykonywana jest funkcja powłoki. Przydziały doFUNCNAME nie działają i zwracają status błędu. JeśliFUNCNAME jest nieustawiony, traci swoje specjalne właściwości, nawet jeśli zostanie później zresetowany. GRUPY: Zmienna tablicowa zawierająca listę grup, których członkiem jest bieżący użytkownik. Przydziały doGRUPY nie działają i zwracają status błędu. JeśliGRUPY jest nieustawiony, traci swoje specjalne właściwości, nawet jeśli zostanie później zresetowany. HISTCMD: Numer lub indeks historii na liście historii bieżącego polecenia. JeśliHISTCMD jest nieustawiony, traci swoje specjalne właściwości, nawet jeśli zostanie później zresetowany. HOSTNAME: Automatycznie ustawia się na nazwę bieżącego hosta. HOSTTYPE: Automatycznie ustawiony na ciąg, który jednoznacznie opisuje typ maszyny, na którejgrzmotnąć wykonuje. Wartość domyślna zależy od systemu. LINENO: Za każdym razem, gdy ten parametr jest przywoływany, powłoka zastępuje liczbę dziesiętną reprezentującą bieżący numer linii kolejnej (zaczynając od 1) w skrypcie lub funkcji. Gdy nie jest to w skrypcie lub funkcji, zastąpiona wartość nie ma znaczenia. JeśliLINENO jest nieustawiony, traci swoje specjalne właściwości, nawet jeśli zostanie później zresetowany. MACHTYPE: Automatycznie ustawiony na ciąg, który w pełni opisuje typ systemu, na którymgrzmotnąć wykonuje się w standardowym GNU system cpu-company format. Wartość domyślna zależy od systemu. OLDPWD: Poprzedni katalog roboczy ustawiony przezPłyta CD dowództwo. OPTARG: Wartość ostatniego argumentu opcji przetworzonego przezgetopts wbudowane polecenie. OPTIND: Indeks następnego argumentu do przetworzenia przezgetopts wbudowane polecenie. OSTYPE: Automatycznie ustawiony na ciąg znaków opisujący system operacyjny, na którymgrzmotnąć wykonuje. Wartość domyślna zależy od systemu. PIPESTATUS: Zmienna tablicowa zawierająca listę wartości statusu wyjścia z procesów w ostatnio wykonanym potoku, mogącym zawierać tylko jedno polecenie. PPID: Identyfikator procesu rodzica powłoki. Ta zmienna jest tylko do odczytu. PWD: Bieżący katalog roboczy ustawiony przezPłyta CD dowództwo. LOSOWY: Za każdym razem, gdy przywoływany jest ten parametr, generowana jest losowa liczba całkowita z przedziału od 0 do 32767. Sekwencję liczb losowych można zainicjować, przypisując jej wartość LOSOWY. JeśliLOSOWY jest nieustawiony, traci swoje specjalne właściwości, nawet jeśli zostanie później zresetowany. ODPOWIADAĆ: Ustawia linię wejścia odczytaną przezczytać wbudowane polecenie, gdy nie podano żadnych argumentów. SEKUNDY: Za każdym razem, gdy przywoływany jest ten parametr, zwracana jest liczba sekund od wywołania powłoki. Jeśli wartość jest przypisana doSEKUNDY, wartość zwrócona przy kolejnych referencjach jest liczbą sekund od przypisania i przypisanej wartości. Jeśli SEKUNDY jest nieustawiony, traci swoje specjalne właściwości, nawet jeśli zostanie później zresetowany. SHELLOPTS: Lista rozdzielonych dwukropkami włączonych opcji powłoki. Każde słowo na liście jest poprawnym argumentem dla-o opcja dozestaw wbudowane polecenie. Opcje pojawiające się wSHELLOPTS są zgłaszane jako na przezustaw -o. Jeśli ta zmienna jest w środowisku, kiedygrzmotnąć uruchamia się, każda opcja powłoki na liście zostanie włączona przed odczytaniem plików startowych. Ta zmienna jest tylko do odczytu. SHLVL: Zwiększane o jeden za każdym razem, gdy wystąpigrzmotnąć jest uruchomiony. UID: Rozszerza się do identyfikatora użytkownika bieżącego użytkownika, zainicjowanego podczas uruchamiania powłoki. Ta zmienna jest tylko do odczytu. Następujące zmienne są używane przez powłokę. W niektórych przypadkach,grzmotnąć przypisuje wartość domyślną do zmiennej; te przypadki są odnotowane. BASH_ENV: Jeśli ten parametr jest ustawiony, gdygrzmotnąć wykonuje skrypt powłoki, jego wartość jest interpretowana jako plik zawierający polecenia inicjujące powłokę, tak jak w ~ / .bashrc . Wartość BASH_ENV jest poddawany rozszerzeniu parametrów, podstawianiu poleceń i rozszerzeniu arytmetycznym, zanim zostanie zinterpretowany jako nazwa pliku.ŚCIEŻKA nie jest używane do wyszukiwania wynikowej nazwy pliku. CDPATH: Ścieżka wyszukiwania dlaPłyta CD dowództwo. To jest lista rozdzielonych dwukropkami katalogów, w których powłoka szuka katalogów docelowych określonych przezPłyta CD dowództwo. Przykładową wartością jest ".: ~: / Usr". KOLUMNY: Używany przezWybierz wbudowane polecenie do określenia szerokości terminala podczas drukowania list wyboru. Automatycznie ustawiane po otrzymaniu SIGWINCH. KOMPLEKSOWA: Zmienna tablicowa, z którejgrzmotnąć odczytuje możliwe uzupełnienia generowane przez funkcję powłoki wywoływaną przez programowalny obiekt zakończenia. FCEDIT: Domyślny edytor dlafc wbudowane polecenie. FIGNORE: Lista rozdzielanych dwukropkami sufiksów do zignorowania podczas uzupełniania nazw plików. Nazwa pliku, którego sufiks odpowiada jednemu z wpisów wFIGNORE jest wykluczone z listy dopasowanych nazw plików. Przykładową wartością jest ".o: ~". GLOBIGNORE: Lista rozdzielonych dwukropkami wzorców definiujących zbiór nazw plików, które mają być ignorowane przez rozszerzenie nazwy ścieżki. Jeśli nazwa pliku pasująca do wzorca rozwinięcia nazwy ścieżki jest również zgodna z jednym z wzorców wGLOBIGNORE, jest usuwany z listy dopasowań. HISTCONTROL: Jeśli ustawione na wartość ignorespace , linie zaczynające się od aprzestrzeń znaki nie są wpisywane na liście historii. Jeśli ustawione na wartość ignorowane , wiersze pasujące do ostatniej linii historii nie są wprowadzane. Wartość ignoreboth łączy dwie opcje. Jeśli nie zostanie ustawiona lub zostanie ustawiona na wartość inną niż powyższa, wszystkie linie odczytane przez analizator składni są zapisywane na liście historii, z zastrzeżeniem wartościHISTIGNORE. Funkcja tej zmiennej została zastąpiona przez HISTIGNORE. Druga i kolejne linie polecenia złożonego z wielu linii nie są testowane i są dodawane do historii niezależnie od wartościHISTCONTROL. HISTFILE: Nazwa pliku, w którym zapisano historię poleceń. Domyślna wartość to ~ / .bash_history . Jeśli nie jest ustawiony, historia poleceń nie jest zapisywana po wyjściu powłoki interaktywnej. HISTFILESIZE: Maksymalna liczba wierszy zawartych w pliku historii. Kiedy ta zmienna ma przypisaną wartość, plik historii jest obcięty, jeśli to konieczne, tak aby zawierał nie więcej niż tę liczbę linii. Wartością domyślną jest 500. Plik historii jest również przycinany do tego rozmiaru po zapisaniu go, gdy interaktywna powłoka zostanie zamknięta. HISTIGNORE: Rozdzielona dwukropkami lista wzorców używanych do decydowania, które wiersze polecenia powinny zostać zapisane na liście historii. Każdy wzór jest zakotwiczony na początku wiersza i musi pasować do całej linii (bez domniemanych "*"jest dołączony). Każdy wzór jest testowany względem linii po sprawdzeniach określonych przezHISTCONTROL są stosowane. Oprócz normalnych znaków pasujących do wzoru powłoki, "&"pasuje do poprzedniej linii historii. "&"można uciec za pomocą odwrotnego ukośnika; odwrotny ukośnik zostanie usunięty przed próbą dopasowania. Druga i kolejne linie polecenia złożonego z wielu linii nie są testowane i są dodawane do historii niezależnie od wartościHISTIGNORE. HISTSIZE: Liczba poleceń do zapamiętania w historii poleceń. Domyślna wartość to 500. DOM: Katalog domowy bieżącego użytkownika; domyślny argument dlaPłyta CD wbudowane polecenie. Wartość tej zmiennej jest również używana podczas wykonywania rozszerzenia tyldy. HOSTFILE: Zawiera nazwę pliku w tym samym formacie co / etc / hosts które należy przeczytać, gdy powłoka musi wypełnić nazwę hosta. Lista możliwych uzupełnień nazw hosta może zostać zmieniona podczas działania powłoki; następnym razem próba ukończenia nazwy hosta zostanie podjęta po zmianie wartości,grzmotnąć dodaje zawartość nowego pliku do istniejącej listy. Jeśli HOSTFILE jest ustawione, ale nie ma wartości,grzmotnąć próbuje czytać / etc / hosts aby uzyskać listę możliwych uzupełnień nazwy hosta. GdyHOSTFILE jest wyłączony, lista nazw hosta jest wyczyszczona. IFS: The Wewnętrzny separator pól służy do dzielenia słów po rozwinięciu i dzielenia linii na słowa za pomocączytać wbudowane polecenie. Domyślna wartość to " IGNOREEOF: Kontroluje działanie interaktywnej powłoki po otrzymaniuEOF znak jako jedyny wkład. Jeśli ustawione, wartość jest liczbą kolejnychEOF znaki, które muszą być wcześniej wpisane jako pierwsze znaki na linii wprowadzaniagrzmotnąć wyjścia. Jeśli zmienna istnieje, ale nie ma wartości liczbowej lub nie ma wartości, domyślną wartością jest 10. Jeśli nie istnieje,EOF oznacza koniec wejścia do powłoki. INPUTRC: Nazwa pliku dlaCzytaj linię plik startowy, zastępując domyślną wartość ~ / .inputrc . LANG: Służy do określania kategorii lokalizacji dla każdej kategorii, która nie została specjalnie wybrana ze zmienną rozpoczynającą się odLC_. LC_ALL: Ta zmienna zastępuje wartośćLANG i każdy innyLC_ zmienna określająca kategorię lokalizacji. LC_COLLATE: Ta zmienna określa kolejność sortowania używaną podczas sortowania wyników rozszerzania nazw plików i określa zachowanie wyrażeń zakresów, klas równoważności i sekwencji zestawiania w ramach rozwijania nazw plików i dopasowywania wzorców. LC_CTYPE: Ta zmienna określa interpretację znaków i zachowanie klas znaków w rozszerzaniu nazw plików i dopasowywaniu wzorców. LC_MESSAGES: Ta zmienna określa ustawienia regionalne używane do tłumaczenia łańcuchów o podwójnych cudzysłowach poprzedzonych znakiem a$. LC_NUMERIC: Ta zmienna określa kategorię lokalizacji używaną do formatowania liczb. KWESTIA: Używany przezWybierz wbudowane polecenie do określenia długości kolumny do drukowania list wyboru. Automatycznie ustawiane po otrzymaniu SIGWINCH. POCZTA: Jeśli ten parametr jest ustawiony na nazwę pliku iMAILPATH zmienna nie jest ustawiona,grzmotnąćinformuje użytkownika o nadejściu poczty w określonym pliku. MAILCHECK: Określa, jak często (w sekundach)grzmotnąć sprawdza pocztę. Wartość domyślna to 60 sekund. Kiedy nadejdzie pora na sprawdzenie poczty, powłoka robi to przed wyświetleniem głównego monitu. Jeśli ta zmienna jest nieustawiona lub jest ustawiona na wartość, która nie jest liczbą większą lub równą zeru, powłoka wyłącza sprawdzanie poczty. MAILPATH: Lista nazw plików, które mają być sprawdzane pod kątem poczty, rozdzielona dwukropkiem. Wiadomość, która ma zostać wydrukowana, gdy poczta dotrze do określonego pliku, może zostać określona poprzez oddzielenie nazwy pliku od wiadomości za pomocą znaku "?". Używane w tekście wiadomości,$_ rozwija się do nazwy bieżącego pliku poczty. Przykład: MAILPATH = '/ var / mail / bfox? "Masz pocztę": ~ / shell-mail? "$ _ Ma pocztę!"
Grzmotnąć dostarcza domyślną wartość tej zmiennej, ale lokalizacja używanych przez nią plików poczty elektronicznej zależy od systemu (/ var / mail /$ USER). OPTERR: Jeśli ustawione na wartość 1,grzmotnąć wyświetla komunikaty o błędach generowane przezgetopts wbudowane polecenie.OPTERR jest inicjowane na wartość 1 za każdym razem, gdy powłoka jest wywoływana lub wykonywany jest skrypt powłoki. ŚCIEŻKA: Ścieżka wyszukiwania dla poleceń. Jest to lista rozdzielonych dwukropkami katalogów, w których powłoka szuka poleceń. Domyślna ścieżka zależy od systemu i jest ustawiana przez administratora, który instalujegrzmotnąć. Typową wartością jest "/ usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin :.". POSIXLY_CORRECT: Jeśli ta zmienna jest w środowisku, kiedygrzmotnąć zaczyna się, wchodzi powłoka tryb posix przed odczytaniem plików startowych, jak gdyby--posix opcja wywołania została dostarczona. Jeśli jest ustawiony podczas działania powłoki,grzmotnąć pozwala tryb posix tak jakby polecenie ustaw -o posix został stracony. PROMPT_COMMAND: Jeśli ustawiono, wartość jest wykonywana jako polecenie przed wydaniem każdego pierwotnego pytania. PS1: Wartość tego parametru jest rozwijana i używana jako podstawowy ciąg podpowiedzi. Domyślna wartość to " s- v $''. PS2: Wartość tego parametru jest rozszerzana jak przyPS1 i używany jako drugi łańcuch podpowiedzi. Wartość domyślna to "> ''. PS3: Wartość tego parametru jest używana jako monit dlaWybierz dowództwo. PS4: Wartość tego parametru jest rozszerzana jak przyPS1, a wartość jest drukowana przed każdym poleceniemgrzmotnąć wyświetla podczas śledzenia wykonania. Pierwsza postaćPS4 jest replikowane wiele razy, w razie potrzeby, aby wskazać wiele poziomów pośrednich. Wartość domyślna to "+ ''. FORMAT CZASU: Wartość tego parametru jest używana jako ciąg formatujący określający sposób informacji o czasie dla potoków poprzedzonych znakiemczas zarezerwowane słowo powinno być wyświetlone. The % znak wprowadza sekwencję specjalną, która jest rozwinięta do wartości czasu lub innej informacji. Sekwencje specjalne i ich znaczenia są następujące. Klamry oznaczają opcjonalne części. Opcjonalne str jest cyfrą określającą precyzja , liczba cyfr ułamkowych po przecinku dziesiętnym. Wartość 0 nie powoduje wyprowadzenia punktu dziesiętnego lub ułamka. Można podać maksymalnie trzy miejsca po przecinku; wartości str więcej niż 3 są zmienione na 3. Jeśli str nie jest określony, używana jest wartość 3. Opcjonalnel określa dłuższy format, w tym minuty MM m SS . FF s. Wartość str określa, czy frakcja jest uwzględniona. Jeśli ta zmienna nie jest ustawiona,grzmotnąć działa tak, jakby miał wartość $ ' nreal t% 3lR nuser t% 3lU nsys% 3lS'. Jeśli wartość jest zerowa, informacja o taktowaniu nie jest wyświetlana. Końcowy znak nowej linii jest dodawany, gdy wyświetlany jest ciąg formatu. TMOUT: Jeśli ustawione na wartość większą niż zero,TMOUT jest traktowany jako domyślny limit czasu dlaczytać wbudowany. TheWybierz komenda kończy się, jeśli dane wejściowe nie zostaną dostarczoneTMOUT sekund, gdy wejście pochodzi z terminala.W powłoce interaktywnej wartość jest interpretowana jako liczba sekund oczekiwania na dane wejściowe po wydaniu polecenia podstawowego.Grzmotnąć kończy się po odczekaniu takiej liczby sekund, jeśli dane wejściowe nie zostaną dostarczone. auto_resume: Ta zmienna kontroluje sposób interakcji powłoki z użytkownikiem i kontrolą pracy. Jeśli ta zmienna jest ustawiona, pojedyncze polecenia proste bez przekierowań są traktowane jako kandydat do wznowienia istniejącego zatrzymanego zadania. Nie jest dozwolona żadna dwuznaczność. Jeśli istnieje więcej niż jedno zadanie rozpoczynające się od wpisanego ciągu, wybrane jest zadanie ostatnio dostępne. The imię zatrzymanego zadania, w tym kontekście jest wiersz polecenia używany do jego uruchomienia. Jeśli ustawione na wartość dokładny , podany ciąg musi dokładnie odpowiadać nazwie zatrzymanej pracy; jeśli ustawione na podłańcuch , podany ciąg musi pasować do podciągu nazwy zatrzymanego zlecenia. The podłańcuch wartość zapewnia funkcjonalność analogiczną do%? identyfikator zadania. Jeśli jest ustawiona na dowolną inną wartość, podany ciąg musi być prefiksem nazwy zatrzymanego zadania; zapewnia to funkcjonalność analogiczną do% identyfikator zadania. histchars: Dwie lub trzy znaki kontrolujące rozszerzanie historii i tokenizację. Pierwsza postać to ekspansja historii postać, postać, która sygnalizuje początek ekspansji historii, zwykle "!". Druga postać to szybkie zastąpienie znak, który jest używany jako skrót do ponownego wpisania poprzedniego polecenia, zastępując jeden ciąg inny w poleceniu. Wartością domyślną jest "^". Opcjonalny trzeci znak to znak, który wskazuje, że pozostała część linii jest komentarzem, kiedy znajduje się jako pierwsza litera słowa, normalnie "#". Znak komentarza historii powoduje pominięcie podstawienia historii dla pozostałych słów na linii. To niekoniecznie powoduje, że parser powłoki traktuje resztę linii jako komentarz. Grzmotnąć dostarcza jednowymiarowe zmienne tablicowe. Każda zmienna może być używana jako tablica; ogłosić builtin jawnie zadeklaruje tablicę. Nie ma maksymalnego ograniczenia wielkości tablicy ani żadnego wymogu indeksowania lub przydzielania członków w sposób ciągły. Tablice są indeksowane za pomocą liczb całkowitych i są oparte na zera. Tablica jest tworzona automatycznie, jeśli dowolna zmienna jest przypisana do użycia składni imię indeks = wartość . The indeks jest traktowane jako wyrażenie arytmetyczne, które musi być równe zeru. Aby jawnie zadeklarować tablicę, użyjzadeklaruj -a imię . zadeklaruj -a imię indeks jest również akceptowane; indeks jest ignorowany. Atrybuty mogą być określone dla zmiennej tablicowej za pomocąogłosić i tylko czytać wbudowane. Każdy atrybut dotyczy wszystkich członków tablicy. Tablice są przypisywane przy użyciu złożonych przypisań formularza imię =(wartość 1 … wartość n ), gdzie każdy wartość ma postać indeks = strunowy . Tylko strunowy jest wymagane. Jeśli podano opcjonalne nawiasy i indeksy dolne, indeks jest przypisywany do; w przeciwnym razie indeks przypisanego elementu jest ostatnim indeksem przypisanym do instrukcji plus jeden. Indeksowanie rozpoczyna się od zera. Ta składnia jest również akceptowana przezogłosić wbudowany. Poszczególne elementy tablicy mogą być przypisane do używania imię indeks = wartość składnia. Dowolny element tablicy można odwoływać się za pomocą $ { imię indeks }. Klamry są wymagane, aby uniknąć konfliktów z rozszerzaniem nazw plików. Jeśli indeks jest@ lub*, słowo rozszerza się do wszystkich członków imię . Te indeksy różnią się tylko wtedy, gdy słowo pojawia się w podwójnym cudzysłowie. Jeśli słowo jest podwójne, $ { imię *} rozwija się do pojedynczego słowa o wartości każdego elementu tablicy oddzielonego pierwszym znakiemIFS specjalna zmienna i $ { imię @} rozwija każdy element imię na osobne słowo. Gdy nie ma członków tablicy, $ { imię @} rozwija się do niczego. Jest to analogiczne do rozszerzenia specjalnych parametrów* i@. ${# imię indeks } rozwija się do długości $ { imię indeks }. Jeśli indeks jest* lub@, rozszerzenie to liczba elementów w tablicy. Odwoływanie się do zmiennej tablicowej bez indeksu dolnego jest równoważne z odwołaniem do elementu zero. Thenieoprawny wbudowany jest używany do niszczenia tablic.Nieoprawny imię indeks niszczy element tablicy w indeksie indeks . Nieoprawny imię , gdzie imię jest tablicą, lubnieoprawny imię indeks , gdzie indeks jest* lub@, usuwa całą tablicę. Theogłosić, lokalny, itylko czytać wbudowane przyjmują a-za opcja określenia tablicy. Theczytać wbudowany akceptuje a-za możliwość przypisania listy słów odczytanych ze standardowego wejścia do tablicy. Thezestaw iogłosić builtins wyświetlają wartości tablicowe w sposób, który umożliwia ich ponowne wykorzystanie jako przydziałów. Rozszerzenie jest wykonywane w linii poleceń po podzieleniu na słowa. Wykonuje się siedem rodzajów ekspansji: rozwijanie nawiasów, rozwijanie tyld, ekspansja parametrów i zmiennych, podstawianie poleceń, rozszerzanie arytmetyczne, dzielenie słów i rozwijanie nazw ścieżek. Kolejność rozszerzeń to: rozsz
Definicje
Zastrzeżone słowa
Gramatyka powłoki: proste polecenia
Rurociągi
Listy
Polecenia złożone
Komentarze
Cytowanie
Parametry
Parametry pozycyjne
Specjalne parametry
Zmienne powłoki
Tablice
Ekspansja