Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

bash-static - Online w chmurze

Uruchom bash-static u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to polecenie bash-static, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online systemu Mac OS

PROGRAM:

IMIĘ


bash - Powłoka GNU Bourne-Again

STRESZCZENIE


bash [opcje] [łańcuch_polecenia | plik]

PRAWA AUTORSKIE


Bash jest objęty prawami autorskimi (C) 1989-2013 przez Free Software Foundation, Inc.

OPIS


Bash jest sh-kompatybilny interpreter języka poleceń, który wykonuje polecenia odczytywane z
standardowe wejście lub z pliku. Bash zawiera również przydatne funkcje z Korn i C
muszle (ksh i csh).

Bash ma być zgodną implementacją części Shell and Utilities
specyfikacja IEEE POSIX (standard IEEE 1003.1). Bash może być skonfigurowany jako POSIX-
domyślnie zgodny.

OPCJE


Wszystkie jednoznakowe opcje powłoki udokumentowane w opisie zestaw
wbudowane polecenie może być użyte jako opcje podczas wywoływania powłoki. Ponadto, bash
interpretuje następujące opcje po wywołaniu:

-c Jeśli -c opcja jest obecna, wtedy komendy są odczytywane od pierwszej nieopcji
argument polecenie_string. Jeśli są argumenty po polecenie_stringOni
są przypisane do parametrów pozycyjnych, zaczynając od $0.
-i Jeśli -i opcja jest obecna, powłoka jest interaktywne.
-l Spraw, żeby bash zachowywać się tak, jakby został wywołany jako powłoka logowania (zobacz WEZWANIE poniżej).
-r Jeśli -r opcja jest obecna, powłoka staje się ograniczony (Patrz OGRANICZONY SHELL
poniżej).
-s Jeśli -s opcja jest obecna lub jeśli po przetworzeniu opcji nie pozostały żadne argumenty,
wtedy polecenia są odczytywane ze standardowego wejścia. Ta opcja umożliwia
parametry pozycyjne do ustawienia podczas wywoływania interaktywnej powłoki.
-D Lista wszystkich ciągów w podwójnych cudzysłowach poprzedzonych $ jest drukowany na standardzie
wyjście. Są to ciągi znaków, które podlegają tłumaczeniu na język, gdy
obecny język nie jest C or POSIX. Oznacza to, że -n opcja; żadne polecenia nie będą
być straconym.
[-+]O [opcja_sklepu]
opcja_sklepu jest jedną z opcji powłoki akceptowanych przez zakupy wbudowany (patrz
SHELL WBUDOWANE POLECENIA poniżej). Gdyby opcja_sklepu jest obecny, -O ustawia wartość
ta opcja; +O rozbraja go. Gdyby opcja_sklepu nie podano, nazwy i
wartości opcji powłoki akceptowanych przez zakupy są drukowane na standardzie
wyjście. Jeśli opcja wywołania to +O, dane wyjściowe są wyświetlane w formacie
które mogą być ponownie użyte jako dane wejściowe.
-- A -- sygnalizuje koniec opcji i wyłącza dalsze przetwarzanie opcji. Każdy
argumenty po -- są traktowane jako nazwy plików i argumenty. Argument -
odpowiada --.

Bash interpretuje również szereg opcji wieloznakowych. Te opcje muszą być włączone
wiersz poleceń przed opcjami jednoznakowymi, które mają zostać rozpoznane.

--Debugger.
Zaplanuj wykonanie profilu debuggera przed uruchomieniem powłoki. Włącza się
rozszerzony tryb debugowania (patrz opis extdebug opcja do zakupy
wbudowany poniżej).
--dump-po-ciągi
Równoważny -D, ale wyjście jest w GNU gettext po (przenośny obiekt) plik
Format.
--dump-ciągi
Równoważny -D.
--help Wyświetl komunikat o użyciu na standardowym wyjściu i zakończ pomyślnie.
--plik-początkowy filet
--plik rc filet
Wykonuj polecenia z filet zamiast ogólnosystemowego pliku inicjującego
/etc/bash.bashrc i standardowy osobisty plik inicjujący ~ / .bashrc Jeśli
powłoka jest interaktywna (zobacz WEZWANIE poniżej).

--Zaloguj sie
Równoważny -l.

--noedytowanie
Nie używaj GNU Czytaj linię biblioteka do czytania wierszy poleceń, gdy powłoka jest
interaktywne.

--brak profilu
Nie czytaj ani ogólnosystemowego pliku startowego / etc / profile lub którykolwiek z osobistych
pliki inicjujące ~ / .bash_profile, ~/.bash_loginlub ~ / .profile. Domyślnie,
bash odczytuje te pliki, gdy jest wywoływany jako powłoka logowania (zobacz WEZWANIE poniżej).

--nork Nie czytaj i nie uruchamiaj ogólnosystemowego pliku inicjującego /etc/bash.bashrc i
osobisty plik inicjujący ~ / .bashrc jeśli powłoka jest interaktywna. Ten
opcja jest domyślnie włączona, jeśli powłoka jest wywoływana jako sh.

--posiks
Zmień zachowanie bash gdzie domyślna operacja różni się od POSIX
standard pasujący do standardu (posix tryb). Widzieć ZOBACZ TAKŻE poniżej dla odniesienia do
dokument, który szczegółowo opisuje, w jaki sposób tryb posix wpływa na zachowanie basha.

--ograniczony
Powłoka staje się ograniczona (patrz OGRANICZONY SHELL poniżej).

--gadatliwy
Równoważny -v.

--wersja
Pokaż informacje o wersji dla tego wystąpienia bash na standardowym wyjściu i wyjściu
powodzeniem.

ARGUMENTY


Jeśli argumenty pozostają po przetworzeniu opcji, a ani -c ani -s opcja była
podane, przyjmuje się, że pierwszym argumentem jest nazwa pliku zawierającego powłokę
polecenia. Gdyby bash jest przywoływana w ten sposób, $0 jest ustawiony na nazwę pliku, a
parametry pozycyjne są ustawiane na pozostałe argumenty. Bash czyta i wykonuje
polecenia z tego pliku, a następnie kończy działanie. Bashstatus wyjścia 's jest statusem wyjścia ostatniego
polecenie wykonane w skrypcie. Jeśli nie zostaną wykonane żadne polecenia, kod zakończenia wynosi 0. An
najpierw podejmowana jest próba otwarcia pliku w bieżącym katalogu, a jeśli plik nie zostanie znaleziony,
następnie powłoka przeszukuje katalogi w PATH dla scenariusza.

WEZWANIE


A Zaloguj Się powłoka to taki, którego pierwszym znakiem argumentu zero jest a -, lub taki, który zaczyna się od
dotychczasowy --Zaloguj sie opcja.

An interaktywne powłoka jest uruchomiona bez argumentów nie będących opcjami i bez -c opcja
którego standardowe wejście i błąd są podłączone do zacisków (określone przez
niespokojny(3)) lub zaczynał się od -i opcja. PS1 jest ustawiony i $- obejmuje i if bash is
interaktywne, pozwalając skryptowi powłoki lub plikowi startowemu na przetestowanie tego stanu.

Poniższe akapity opisują, w jaki sposób bash wykonuje swoje pliki startowe. Jeśli którykolwiek z
pliki istnieją, ale nie można ich odczytać, bash zgłasza błąd. Tyldy są rozwijane w nazwach plików
jak opisano poniżej pod Tylda Ekspansja EKSPANSJA

Kiedy bash jest wywoływany jako interaktywna powłoka logowania lub jako powłoka nieinteraktywna z
--Zaloguj sie opcja, najpierw odczytuje i wykonuje polecenia z pliku / etc / profile, Jeśli to
plik istnieje. Po przeczytaniu tego pliku szuka ~ / .bash_profile, ~/.bash_login,
~ / .profile, w tej kolejności, odczytuje i wykonuje polecenia od pierwszego, który istnieje
i jest czytelny. ten --brak profilu opcja może być użyta, gdy powłoka zaczyna hamować
to zachowanie.

Po zamknięciu powłoki logowania, bash odczytuje i wykonuje polecenia z pliku ~/.bash_logout,
jeśli istnieje.

Po uruchomieniu powłoki interaktywnej, która nie jest powłoką logowania, bash czyta i wykonuje
komendy z /etc/bash.bashrc i ~ / .bashrc, jeśli te pliki istnieją. To może być zahamowane
przy użyciu --nork opcja. --plik rc filet opcja wymusi bash czytać i wykonywać
komendy z filet zamiast /etc/bash.bashrc i ~ / .bashrc.

Kiedy bash jest uruchamiany nieinteraktywnie, np. w celu uruchomienia skryptu powłoki, szuka
zmienna BASH_ENV w środowisku, rozszerza swoją wartość, jeśli się tam pojawia, i wykorzystuje
rozszerzona wartość jako nazwa pliku do odczytu i wykonania. Bash zachowuje się tak, jakby
wykonano następujące polecenie:
if [ -n "$BASH_ENV" ]; następnie . "$BASH_ENV"; fi
ale wartość PATH zmienna nie jest używana do wyszukiwania nazwy pliku.

If bash jest wywoływany z imieniem sh, próbuje naśladować początkowe zachowanie historyczne
wersje sh tak blisko, jak to możliwe, jednocześnie zachowując zgodność ze standardem POSIX.
Po wywołaniu jako interaktywna powłoka logowania lub nieinteraktywna powłoka z --Zaloguj sie
opcja, najpierw próbuje odczytać i wykonać polecenia z / etc / profile i ~ / .profile,
w tej kolejności. ten --brak profilu opcja może być użyta do powstrzymania tego zachowania. Po wywołaniu
jako interaktywna powłoka o nazwie sh, bash szuka zmiennej ENV, rozszerza swoje
wartość, jeśli jest zdefiniowana i używa rozszerzonej wartości jako nazwy pliku do odczytu i
wykonać. Ponieważ powłoka wywołana jako sh nie próbuje czytać i wykonywać poleceń z
wszelkie inne pliki startowe, --plik rc opcja nie ma wpływu. Powłoka nieinteraktywna
przywoływany z imieniem sh nie próbuje czytać żadnych innych plików startowych. Po wywołaniu
as sh, bash wchodzi posix tryb po odczytaniu plików startowych.

Kiedy bash zaczyna się w posix tryb, jak w przypadku --posiks opcja wiersza poleceń, wynika z tego
standard POSIX dla plików startowych. W tym trybie interaktywne powłoki rozszerzają ENV
zmienna i polecenia są odczytywane i wykonywane z pliku o nazwie rozszerzonej
wartość. Żadne inne pliki startowe nie są odczytywane.

Bash próbuje określić, kiedy jest uruchamiany ze standardowym wejściem podłączonym do a
połączenie sieciowe, jak podczas wykonywania przez demona powłoki zdalnej, zwykle rshdLub
demon bezpiecznej powłoki sshd. Jeśli bash stwierdza, że ​​jest prowadzony w ten sposób, brzmi
i wykonuje polecenia z ~ / .bashrc i ~ / .bashrc, jeśli te pliki istnieją i można je odczytać.
Nie zrobi tego, jeśli zostanie wywołany jako sh, --nork opcja może być użyta do powstrzymania tego
zachowanie, a --plik rc opcja może być użyta do wymuszenia odczytania innego pliku, ale
ani rshd ani sshd generalnie wywołuj powłokę z tymi opcjami lub pozwól im być
określony.

Jeśli powłoka jest uruchomiona z efektywnym użytkownikiem (grupą) nie jest równy rzeczywistemu użytkownikowi
(grupa) id, a -p opcja nie jest podana, nie są odczytywane żadne pliki startowe, działa powłoka
nie są dziedziczone ze środowiska, MUSZLE, BASOPTY, CDPATH, GLOBIGNOR
zmienne, jeśli występują w środowisku, są ignorowane, a efektywnym identyfikatorem użytkownika jest
ustawiony na prawdziwy identyfikator użytkownika. Jeśli -p opcja jest dostarczana przy wywołaniu, zachowanie startowe
jest taki sam, ale efektywny identyfikator użytkownika nie jest resetowany.

DEFINITIONS


W dalszej części tego dokumentu stosowane są następujące definicje.
pusty Spacja lub tabulator.
słowo Sekwencja znaków traktowana przez powłokę jako pojedyncza jednostka. Znany również jako
żeton.
Nazwa A słowo składający się wyłącznie ze znaków alfanumerycznych i podkreśleń oraz początek
znakiem alfabetycznym lub podkreśleniem. Nazywany również an identyfikator.
metaznak
Znak, który, gdy nie jest cytowany, oddziela słowa. Jeden z następujących:
| & ; ( ) < > przestrzeń Zakładka
kontrola operator
A żeton pełniący funkcję kontrolną. Jest to jeden z następujących symboli:
|| & && ; ;; ( ) | |&

ZAREZERWOWANY SŁOWA


Zarezerwowane słowa to słowa, które mają specjalne znaczenie dla powłoki. Następujące słowa
są rozpoznawane jako zarezerwowane, gdy nie są cytowane i albo jako pierwsze słowo prostego polecenia
(Patrz SHELL GRAMATYKA poniżej) lub trzecie słowo a walizka or dla polecenie:

! walizka koproc do zrobić Elif więcej to C fi dla funkcjonować if in wybierać następnie aż do Podczas { }
czas [[ ]]

SHELL GRAMATYKA


Prosty Polecenia
A prosty komenda jest sekwencją opcjonalnych przypisań zmiennych, po których następuje pusty-
oddzielone słowa i przekierowania oraz zakończone przez a kontrola operator. Pierwsze słowo
określa polecenie do wykonania i jest przekazywane jako argument zero. Pozostałe słowa
są przekazywane jako argumenty do wywołanego polecenia.

Zwracana wartość a prosty komenda jest jego statusem wyjścia lub 128+n jeśli polecenie to
zakończone sygnałem n.

Rurociągi
A rurociąg jest sekwencją jednego lub więcej poleceń oddzielonych jednym z operatorów sterujących
| or |&. Format potoku to:

[czas [-p]] [! ] komenda [[||&] polecenie 2 ...]

Standardowe wyjście komenda jest podłączony za pomocą rury do standardowego wejścia polecenie 2.
To połączenie jest wykonywane przed jakimikolwiek przekierowaniami określonymi przez polecenie (zobacz
PRZEKIEROWANIE poniżej). Gdyby |& jest używany, komenda's standardowy błąd, oprócz swojego standardu
wyjście, jest podłączone do polecenie 2standardowe wejście przez rurę; to jest skrót od
2> & 1 |. To niejawne przekierowanie standardowego błędu na standardowe wyjście to
wykonywane po wszelkich przekierowaniach określonych przez polecenie.

Zwracanym kodem potoku jest kod zakończenia ostatniego polecenia, chyba że
awaria potoku opcja jest włączona. Gdyby awaria potoku jest włączona, stan powrotu potoku to
wartość ostatniego (po prawej) polecenia do wyjścia z niezerowym statusem lub zero, jeśli wszystko
polecenia kończą się pomyślnie. Jeśli zastrzeżone słowo ! poprzedza potok, status wyjścia
tego potoku jest logiczną negacją stanu wyjścia, jak opisano powyżej. Muszla
czeka na zakończenie wszystkich poleceń w potoku przed zwróceniem wartości.

Jeśli czas słowo zastrzeżone poprzedza potok, czas, który upłynął oraz czas użytkownika i systemowy
zużywane przez jego wykonanie są zgłaszane po zakończeniu potoku. ten -p opcja
zmienia format wyjściowy na określony przez POSIX. Kiedy muszla jest w posix tryb, To
nie rozpoznaje czas jako słowo zastrzeżone, jeśli następny token zaczyna się od `-'. ten
FORMAT CZASU zmienna może być ustawiona na ciąg formatu, który określa sposób odmierzania czasu
informacje powinny być wyświetlane; zobacz opis FORMAT CZASU dla Powłoka Zmienne
poniżej.

Kiedy muszla jest w posix tryb, czas może po nim następować znak nowej linii. W tym przypadku
powłoka wyświetla całkowity czas użytkownika i czas systemowy zużywany przez powłokę i jej elementy potomne. ten
FORMAT CZASU zmienna może być użyta do określenia formatu informacji o czasie.

Każde polecenie w potoku jest wykonywane jako oddzielny proces (tj. w podpowłoce).

wykazy
A podstęp jest sekwencją jednego lub więcej rurociągów rozdzielonych przez jednego z operatorów ;, &, &&,
or ||i opcjonalnie zakończone jednym z ;, &lub .

Spośród tych operatorów list, && i || mają równe pierwszeństwo, po którym następuje ; i &, które mają
równe pierwszeństwo.

Sekwencja jednego lub więcej znaków nowej linii może pojawić się w podstęp zamiast średnika do rozgraniczenia
Polecenia.

Jeśli polecenie zostanie zakończone przez operatora sterującego &, powłoka wykonuje polecenie w
dotychczasowy tło w podpowłoce. Powłoka nie czeka na zakończenie polecenia, a
status powrotu to 0. Polecenia oddzielone a ; są wykonywane sekwencyjnie; powłoka czeka
dla każdego polecenia, aby zakończyć po kolei. Status powrotu jest statusem wyjścia ostatniego
wykonane polecenie.

Listy AND i OR to sekwencje jednego lub większej liczby potoków oddzielone znakiem && i || kontrola
operatorów. Listy AND i OR są wykonywane z lewą asocjatywnością. AND
lista ma formę

polecenie 1 && polecenie 2

polecenie 2 jest wykonywany wtedy i tylko wtedy, gdy polecenie 1 zwraca kod wyjścia równy zero.

Lista OR ma postać

polecenie 1 || polecenie 2

polecenie 2 jest wykonywany wtedy i tylko wtedy, gdy polecenie 1 zwraca niezerowy kod wyjścia. Powrót
status list AND i OR jest kodem zakończenia ostatniego polecenia wykonanego na liście.

Mieszanka Polecenia
A złożony komenda jest jednym z poniższych. W większości przypadków a podstęp w komendzie
opis może być oddzielony od reszty polecenia jednym lub kilkoma znakami nowej linii i może:
po nim następuje znak nowej linii zamiast średnika.

(podstęp) podstęp jest wykonywany w środowisku podpowłoki (zobacz COMMAND WYKONANIE ŚRODOWISKO
poniżej). Przypisania zmiennych i wbudowane polecenia, które wpływają na działanie powłoki
środowisko nie będzie obowiązywać po zakończeniu polecenia. Status zwrotu
jest statusem wyjścia podstęp.

{ podstęp; }
podstęp jest po prostu wykonywany w bieżącym środowisku powłoki. podstęp musi zostać rozwiązany
ze znakiem nowej linii lub średnikiem. Jest to znane jako grupa komenda. Status zwrotu
jest statusem wyjścia podstęp. Zauważ, że w przeciwieństwie do metaznaków ( i ), { i }
jest zarezerwowany słowa i musi nastąpić tam, gdzie dozwolone jest słowo zastrzeżone
rozpoznane. Ponieważ nie powodują łamania słów, należy je oddzielić od podstęp
spacją lub innym metaznakiem powłoki.

((wyrażenie))
Połączenia wyrażenie jest oceniany zgodnie z zasadami opisanymi poniżej w ARYTMETYKA
OCENA. Jeśli wartość wyrażenia jest niezerowa, zwracany status to 0;
w przeciwnym razie status zwrotu wynosi 1. Jest to dokładnie równoważne niech "wyrażenie".

[[ wyrażenie ]]
Zwróć status 0 lub 1 w zależności od oceny wyrażenia warunkowego
wyrażenie. Wyrażenia składają się z podstawowych opisanych poniżej w
WARUNKOWY WYRAŻENIA. Dzielenie na słowa i rozszerzanie ścieżek nie są wykonywane
na słowach między [[ i ]]; rozwinięcie tyldy, parametr i zmienna
rozwijanie, rozwijanie arytmetyczne, podstawianie poleceń, podstawianie procesów i
Wykonywane są usuwanie ofert. Operatory warunkowe, takie jak -f musi być niecytowany do
być uznawane za prawybory.

Kiedy jest używany z [[The < i > operatory sortują leksykograficznie używając prądu
widownia.

Zobacz opis test wbudowane polecenie (sekcja WBUDOWANE POLECENIA POWŁOKI poniżej) dla
obsługa parametrów (tj. brakujących parametrów).

Podczas == i != używane są operatory, ciąg na prawo od operatora to
uważany za wzór i dopasowany zgodnie z zasadami opisanymi poniżej w Wzór
Dopasowywanie, tak jakby extglob opcja powłoki została włączona. ten = operator jest równoważny
==. Jeśli opcja powłoki brak dopasowania jest włączona, dopasowanie odbywa się bez względu na
przypadku znaków alfabetycznych. Zwracana wartość to 0, jeśli ciąg pasuje (==) lub
nie pasuje (!=) wzór, a 1 inaczej. Dowolna część wzoru może być cytowana
aby wymusić dopasowanie cytowanej części jako łańcucha.

Dodatkowy operator binarny, =~, jest dostępny, z takim samym pierwszeństwem jak == i !=.
Gdy jest używany, ciąg po prawej stronie operatora jest uważany za rozszerzony regularny
wyrażenie i odpowiednio dopasowane (jak w regex(3)). Zwracana wartość to 0, jeśli ciąg
pasuje do wzorca, a 1 w przeciwnym razie. Jeśli wyrażenie regularne jest składniowe
niepoprawna, wartość zwracana przez wyrażenie warunkowe to 2. Jeśli opcja powłoki
brak dopasowania jest włączona, dopasowanie odbywa się bez względu na wielkość liter
postacie. Dowolna część wzoru może być cytowana, aby zmusić cytowaną część do
dopasowane jako ciąg. Wyrażenia nawiasowe w wyrażeniach regularnych muszą być traktowane
ostrożnie, ponieważ zwykłe znaki cytowania tracą znaczenie w nawiasach. Jeśli
wzorzec jest przechowywany w zmiennej powłoki, cytowanie rozwinięcia zmiennej wymusza całość
wzorzec, który ma być dopasowany jako ciąg. Podciągi dopasowane przez podwyrażenia w nawiasach
wewnątrz wyrażenia regularnego są zapisywane w zmiennej tablicowej BASH_REMATCH. Element
of BASH_REMATCH z indeksem 0 to część ciągu pasująca do całego regularnego
wyrażenie. Element BASH_REMATCH z indeksem n jest częścią ciągu
pasujące do npodwyrażenie w nawiasach.

Wyrażenia można łączyć za pomocą następujących operatorów, wymienionych w kolejności malejącej od
precedens:

( wyrażenie )
Zwraca wartość wyrażenie. Może to służyć do zastąpienia normalnego
pierwszeństwo operatorów.
! wyrażenie
Prawda, jeśli wyrażenie to fałsz.
wyrażenie1 && wyrażenie2
Prawda, jeśli oba wyrażenie1 i wyrażenie2 są prawdziwe.
wyrażenie1 || wyrażenie2
Prawda, jeśli albo wyrażenie1 or wyrażenie2 jest prawdziwy.

Połączenia && i || operatorzy nie oceniają wyrażenie2 jeśli wartość wyrażenie1 is
wystarczające do określenia wartości zwracanej całego wyrażenia warunkowego.

dla Nazwa [[ in [ słowo ... ]] ; ] do podstęp ; zrobić
Lista słów po in jest rozwijany, generując listę pozycji. ten
zmienna Nazwa jest ustawiony na każdy element tej listy po kolei, a podstęp jest wykonywany
za każdym razem. Jeśli in słowo jest pominięty, dla polecenie wykonuje podstęp raz dla każdego
ustawiony parametr pozycyjny (patrz PARAMETRY poniżej). Status zwrotu to
kod zakończenia ostatniego wykonanego polecenia. Jeśli ekspansja przedmiotów
następujący in powoduje pustą listę, żadne polecenia nie są wykonywane, a powrót
stan to 0.

dla (( wyr1 ; wyr2 ; wyr3 )); do podstęp ; zrobić
Po pierwsze, wyrażenie arytmetyczne wyr1 jest oceniana zgodnie z zasadami
opisane poniżej pod ARYTMETYKA OCENA. Wyrażenie arytmetyczne wyr2 is
następnie oceniane wielokrotnie, aż do zera. Za każdym razem wyr2 ocenia na
wartość niezerowa, podstęp jest wykonywane, a wyrażenie arytmetyczne wyr3 is
oceniane. Jeśli jakiekolwiek wyrażenie zostanie pominięte, zachowuje się tak, jakby oceniało na 1. The
wartość zwracana to kod wyjścia ostatniego polecenia w podstęp który jest wykonywany, lub
false, jeśli którekolwiek z wyrażeń jest nieprawidłowe.

wybierać Nazwa [ in słowo ]; do podstęp ; zrobić
Lista słów po in jest rozwijany, generując listę pozycji. Zestaw
rozszerzone słowa są drukowane na standardowym błędzie, każde poprzedzone liczbą. Jeśli
in słowo zostanie pominięty, wypisywane są parametry pozycyjne (patrz PARAMETRY poniżej).
Połączenia PS3 następnie wyświetlany jest znak zachęty i odczytywana jest linia ze standardowego wejścia. Jeśli
linia składa się z liczby odpowiadającej jednemu z wyświetlanych słów, następnie
wartość Nazwa jest ustawiony na to słowo. Jeśli wiersz jest pusty, słowa i monit są
ponownie wyświetlony. Jeśli EOF jest odczytywany, polecenie kończy się. Dowolna inna wartość przeczytana
Przyczyny Nazwa być ustawiony na null. Odczytany wiersz jest zapisywany w zmiennej ODPOWIADAĆ,
podstęp jest wykonywany po każdym wyborze, aż do a złamać wykonywane jest polecenie. Wyjście
status wybierać jest kodem zakończenia ostatniego polecenia wykonanego w podstęplub zero
jeśli nie wykonano żadnych poleceń.

walizka słowo in [ [(] wzorzec [ | wzorzec ] ...) podstęp ;; ] ... to C
A walizka polecenie najpierw się rozwija słowoi próbuje dopasować je do każdego wzorzec in
turn, używając tych samych reguł, co przy rozwijaniu nazw (zobacz Nazwa ścieżki
Ekspansja poniżej). ten słowo jest rozwijany za pomocą rozwinięcia tyldy, parametru i
rozwinięcie zmiennych, podstawienie arytmetyczne, podstawienie poleceń, proces
zastąpienie i usunięcie cytatu. Każdy wzorzec badany jest rozwijany za pomocą tyldy
rozwinięcie, rozwinięcie parametrów i zmiennych, podstawienie arytmetyczne, polecenie
podstawienie i podstawienie procesu. Jeśli opcja powłoki brak dopasowania is
włączone, dopasowanie odbywa się bez względu na wielkość liter
postacie. Gdy zostanie znalezione dopasowanie, odpowiedni podstęp jest wykonywany. Jeśli ;;
używany jest operator, żadne kolejne dopasowania nie są podejmowane po pierwszym wzorcu
mecz. Za pomocą ;& zamiast ;; powoduje, że wykonanie będzie kontynuowane z podstęp
związane z następnym zestawem wzorców. Za pomocą ;;& zamiast ;; powoduje
powłoki, aby przetestować następną listę wzorców w instrukcji, jeśli istnieje, i wykonać dowolną
powiązany podstęp na udany mecz. Kod wyjścia to zero, jeśli nie ma wzorca
mecze. W przeciwnym razie jest to kod zakończenia ostatniego polecenia wykonanego w podstęp.

if podstęp; następnie podstęp; [ Elif podstęp; następnie podstęp; ] ... [ więcej podstęp; ] fi
Połączenia if podstęp jest wykonywany. Jeśli jego kod wyjścia wynosi zero, następnie podstęp jest wykonywany.
W przeciwnym razie każdy Elif podstęp jest wykonywany z kolei, a jeśli jego kod wyjścia wynosi zero,
odpowiedni następnie podstęp jest wykonywany i polecenie się kończy. W przeciwnym razie więcej
podstęp jest wykonywany, jeśli jest obecny. Status wyjścia jest statusem wyjścia ostatniego
wykonane polecenie lub zero, jeśli żaden warunek nie został przetestowany.

Podczas lista-1; do lista-2; zrobić
aż do lista-1; do lista-2; zrobić
Połączenia Podczas polecenie stale wykonuje listę lista-2 tak długo, jak ostatnie polecenie
na liście lista-1 zwraca kod wyjścia równy zero. ten aż do polecenie jest identyczne
do Podczas polecenie, z tym wyjątkiem, że test jest zanegowany; lista-2 jest wykonywany tak długo
jako ostatnie polecenie w lista-1 zwraca niezerowy kod wyjścia. Status wyjścia
dotychczasowy Podczas i aż do commands to kod zakończenia ostatniego polecenia wykonanego w
lista-2lub zero, jeśli żaden nie został wykonany.

Koprocesy
A współproces to polecenie powłoki poprzedzone przez koproc zastrzeżone słowo. Koproces to
wykonywane asynchronicznie w podpowłoce, tak jakby polecenie zostało zakończone przez &
operatora sterującego, z dwukierunkową rurą ustanowioną między powłoką wykonawczą a
współprocesu.

Format koprocesu to:

koproc [IMIĘ] komenda [przekierowania]

Tworzy to koproces o nazwie IMIĘ. Jeśli IMIĘ nie jest podana, domyślna nazwa to COPROC.
IMIĘ nie należy podawać, jeśli komenda jest prosty komenda (patrz wyżej); w przeciwnym razie jest
interpretowane jako pierwsze słowo prostego polecenia. Kiedy koproces jest wykonywany,
powłoka tworzy zmienną tablicową (patrz Tablice poniżej) o nazwie IMIĘ w kontekście
wykonanie powłoki. Standardowe wyjście komenda jest połączony rurą z plikiem
deskryptora w wykonującej powłoce, a ten deskryptor pliku jest przypisany do IMIĘ[0]. ten
standardowe wejście komenda jest połączony przez potok z deskryptorem pliku w wykonywaniu
powłoki, a ten deskryptor pliku jest przypisany do IMIĘ[1]. Ta rura została założona wcześniej
wszelkie przekierowania określone przez polecenie (zobacz PRZEKIEROWANIE poniżej). Deskryptory plików
mogą być używane jako argumenty do poleceń powłoki i przekierowań przy użyciu standardowego słowa
rozszerzenia. Deskryptory plików nie są dostępne w podpowłokach. Identyfikator procesu
powłoka zrodziła się w celu wykonania koprocesu jest dostępna jako wartość zmiennej IMIĘ_PID.
Połączenia czekać wbudowane polecenie może być użyte do oczekiwania na zakończenie koprocesu.

Ponieważ koproces jest tworzony jako polecenie asynchroniczne, koproc komenda zawsze
zwraca sukces. Zwracany status koprocesu to status wyjścia komenda.

Powłoka Funkcjonować Definicje
Funkcja powłoki to obiekt, który jest wywoływany jak proste polecenie i wykonuje złożony
polecenie z nowym zestawem parametrów pozycyjnych. Funkcje powłoki są deklarowane w następujący sposób:

Nazwa () polecenie złożone [przekierowanie]
funkcjonować Nazwa [()] polecenie złożone [przekierowanie]
Definiuje funkcję o nazwie Nazwa. Zastrzeżone słowo funkcjonować jest opcjonalne. Gdyby
dotychczasowy funkcjonować podano słowo zastrzeżone, nawiasy są opcjonalne. ten ciało of
funkcją jest polecenie złożone polecenie złożone (Patrz Mieszanka Polecenia
nad). To polecenie to zwykle podstęp poleceń między { i }, ale może być dowolna
polecenie wymienione pod Mieszanka Polecenia powyżej. polecenie złożone jest wykonywany
ilekroć Nazwa jest podany jako nazwa prostego polecenia. Kiedy w posix tryb,
Nazwa nie może być nazwą jednego z POSIX specjalny wbudowane. Wszelkie przekierowania
(Patrz PRZEKIEROWANIE poniżej) określone, gdy funkcja jest zdefiniowana, są wykonywane, gdy
funkcja jest wykonywana. Kod wyjścia definicji funkcji wynosi zero, chyba że a
wystąpił błąd składni lub funkcja tylko do odczytu o tej samej nazwie już istnieje. Kiedy
wykonane, kodem wyjścia funkcji jest kod wyjścia ostatniego polecenia
wykonywane w ciele. (Widzieć FUNKCJE poniżej.)

KOMENTARZE


W powłoce nieinteraktywnej lub powłoce interaktywnej, w której komentarze_interaktywne
opcja do zakupy wbudowane jest włączone (zobacz SHELL WBUDOWANE POLECENIA poniżej), słowo
zaczynając od # powoduje, że to słowo i wszystkie pozostałe znaki w tym wierszu są ignorowane.
Interaktywna powłoka bez komentarze_interaktywne opcja włączona nie pozwala
komentarze. komentarze_interaktywne opcja jest domyślnie włączona w powłokach interaktywnych.

CYTOWANIE


Cytowanie służy do usuwania specjalnego znaczenia niektórych znaków lub słów w powłoce.
Cytowanie może być użyte do wyłączenia specjalnego traktowania znaków specjalnych, aby zapobiec
słowa zastrzeżone nie będą rozpoznawane jako takie i aby zapobiec rozszerzaniu parametrów.

Każdy z metaznaki wymienione powyżej pod DEFINITIONS ma szczególne znaczenie dla powłoki
i musi być cytowany, jeśli ma się reprezentować.

Gdy używane są funkcje rozszerzania historii poleceń (patrz HISTORIA EKSPANSJA
poniżej historia ekspansja charakter, zwykle !, musi być cytowany, aby zapobiec historii
ekspansja.

Istnieją trzy mechanizmy cytowania: uciec charakter, pojedyncze cudzysłowy i podwójne
cytaty.

Nie cytowany ukośnik odwrotny (\) jest uciec charakter. Zachowuje dosłowną wartość
następny znak, z wyjątkiem . Jeśli \para
pojawia się, a sam ukośnik nie jest cytowany, \jest traktowany jako linia
kontynuacja (czyli jest usuwana ze strumienia wejściowego i skutecznie ignorowana).

Umieszczanie znaków w pojedynczych cudzysłowach zachowuje dosłowną wartość każdego znaku w obrębie
cytaty. Pojedynczy cudzysłów nie może występować między pojedynczymi cudzysłowami, nawet jeśli jest poprzedzony znakiem
ukośnik wsteczny.

Umieszczanie znaków w podwójnych cudzysłowach zachowuje dosłowną wartość wszystkich znaków w obrębie
cytaty, z wyjątkiem $, `, \, a gdy rozszerzenie historii jest włączone, !,
znaków $ i ` zachowują swoje szczególne znaczenie w podwójnych cudzysłowach. Odwrotny ukośnik
zachowuje swoje specjalne znaczenie tylko wtedy, gdy następuje po nim jeden z następujących znaków: $, `,
", \lub . Podwójny cudzysłów może być cytowany w cudzysłowie, poprzedzając go
z odwrotnym ukośnikiem. Jeśli włączone, rozszerzenie historii zostanie wykonane, chyba że ! pojawia się
w podwójnych cudzysłowach jest pominięty przy użyciu odwrotnego ukośnika. Odwrotny ukośnik poprzedzający ! nie jest
oddalony.

Specjalne parametry * i @ mają specjalne znaczenie w podwójnych cudzysłowach (patrz PARAMETRY
poniżej).

Słowa formy $'ciągsą traktowane specjalnie. Słowo rozwija się do ciągZ
znaki ze zmianą ukośnika odwrotnego są zastępowane zgodnie ze standardem ANSI C. Ukośnik wsteczny
sekwencje specjalne, jeśli są obecne, są dekodowane w następujący sposób:
\a alarm (dzwonek)
\b Backspace
\e
\E postać ucieczki
\f kanał formularzy
\n Nowa linia
\r powrót karetki
\t zakładka pozioma
\v pionowa zakładka
\\ ukośnik wsteczny
\' pojedynczy cytat
\" cudzysłów
\nnn ośmiobitowy znak, którego wartością jest wartość ósemkowa nnn (jeden do trzech
cyfry)
\xHH ośmiobitowy znak, którego wartością jest wartość szesnastkowa HH (jeden lub dwa
cyfry szesnastkowe)
\uHhhh znak Unicode (ISO/IEC 10646), którego wartością jest wartość szesnastkowa
Hhhh (od jednej do czterech cyfr szesnastkowych)
\UHHHHHHH
znak Unicode (ISO/IEC 10646), którego wartością jest wartość szesnastkowa
HHHHHHH (od jednej do ośmiu cyfr szesnastkowych)
\cx kontrola-x charakter

Rozszerzony wynik jest cytowany w pojedynczym cudzysłowie, tak jakby nie było znaku dolara.

Ciąg w cudzysłowie poprzedzony znakiem dolara ($"ciąg") spowoduje, że ciąg będzie
przetłumaczone zgodnie z aktualnymi ustawieniami regionalnymi. Jeśli bieżąca lokalizacja to C or POSIXThe
znak dolara jest ignorowany. Jeśli ciąg jest tłumaczony i zastępowany, zamiennikiem jest
w podwójnym cudzysłowie.

PARAMETRY


A parametr jest podmiotem przechowującym wartości. To może być Nazwa, liczba lub jeden z
znaki specjalne wymienione poniżej w Specjalny parametry, ZA zmienna jest parametrem
oznaczony przez a Nazwa. Zmienna ma wartość i zero lub więcej atrybuty. Atrybuty są
przypisane za pomocą ogłosić polecenie wbudowane (zobacz ogłosić poniżej w SHELL WBUDOWANE POLECENIA).

Parametr jest ustawiany, jeśli przypisano mu wartość. Ciąg pusty jest prawidłową wartością.
Po ustawieniu zmiennej można ją usunąć tylko za pomocą rozbrojony polecenie wbudowane (zobacz SHELL
WBUDOWANE POLECENIA poniżej).

A zmienna może być przypisany przez oświadczenie o formularzu

Nazwa=[wartość]

If wartość nie podano, zmiennej przypisywany jest łańcuch pusty. Wszystko wartości przejść tyldę
rozwinięcie, rozwinięcie parametrów i zmiennych, podstawianie poleceń, rozwinięcie arytmetyczne,
i usuwanie cytatów (patrz EKSPANSJA poniżej). Jeśli zmienna ma swoje liczba całkowita zestaw atrybutów,
następnie wartość jest obliczany jako wyrażenie arytmetyczne, nawet jeśli rozwinięcie $((...)) nie jest
używany (patrz Arytmetyka Ekspansja poniżej). Dzielenie na słowa nie jest wykonywane, przy czym
z wyjątkiem „$@” jak wyjaśniono poniżej w Specjalny parametry. Rozszerzenie ścieżki nie jest
wykonywane. Oświadczenia przypisania mogą również pojawiać się jako argumenty do alias, ogłosić,
skład, eksport, tylko czytać, miejscowy wbudowane polecenia. Kiedy w posix tryb, te wbudowane
może pojawić się w poleceniu po jednym lub kilku wystąpieniach komenda wbudowane i zachowane
te właściwości instrukcji przypisania.

W kontekście, w którym instrukcja przypisania przypisuje wartość do zmiennej powłoki lub
indeks tablicy, operator += może być używany do dołączania lub dodawania do poprzedniej zmiennej
wartość. Gdy += stosuje się do zmiennej, dla której liczba całkowita atrybut został ustawiony,
wartość jest oceniany jako wyrażenie arytmetyczne i dodawany do bieżącej wartości zmiennej,
co również jest oceniane. Gdy += jest stosowane do zmiennej tablicowej za pomocą złożonej
przypisanie (patrz Tablice poniżej), wartość zmiennej nie jest nieustawiona (tak jak przy użyciu =),
a nowe wartości są dodawane do tablicy zaczynając od wartości o jeden większej niż maksimum tablicy
indeks (dla tablic indeksowanych) lub dodawane jako dodatkowe pary klucz-wartość w tablicy asocjacyjnej.
Po zastosowaniu do zmiennej o wartości łańcuchowej, wartość jest rozwijany i dołączany do zmiennej
wartość.

Zmiennej można przypisać nazwaref atrybut przy użyciu -n opcja do ogłosić or
miejscowy polecenia wbudowane (zobacz opisy ogłosić i miejscowy poniżej), aby utworzyć
nazwareflub odwołanie do innej zmiennej. Pozwala to na manipulowanie zmiennymi
pośrednio. Za każdym razem, gdy zmienna nameref jest przywoływana lub do której jest przypisywana, operacja jest:
faktycznie wykonywane na zmiennej określonej przez wartość zmiennej nameref. Nazwa ref
jest często używany w funkcjach powłoki do odwoływania się do zmiennej, której nazwa jest przekazywana jako
argument funkcji. Na przykład, jeśli nazwa zmiennej jest przekazywana do funkcji powłoki
jako pierwszy argument, running
zadeklaruj -n ref=$1
wewnątrz funkcji tworzy zmienną nameref ref którego wartością jest przekazana nazwa zmiennej
jako pierwszy argument. Referencje i zadania do ref są traktowane jako referencje i
przypisania do zmiennej, której nazwa została przekazana jako $1. Jeżeli zmienna sterująca w a dla
pętla ma atrybut nameref, lista słów może być listą zmiennych powłoki, a
odwołanie do nazwy zostanie ustalone dla każdego słowa na liście, z kolei, gdy pętla jest
wykonany. Zmiennym tablicowym nie można podać -n atrybut. Jednak zmienne nameref
może odwoływać się do zmiennych tablicowych i zmiennych tablicowych z indeksami dolnymi. Odniesienia nazw można usunąć
używając -n opcja do rozbrojony wbudowany. W przeciwnym razie, jeśli rozbrojony jest wykonywany z nazwą
zmiennej nameref jako argumentu, zmienna, do której odwołuje się zmienna nameref, będzie:
być rozbrojony.

Pozycyjny parametry
A pozycyjny parametr jest parametrem oznaczonym jedną lub kilkoma cyframi, innymi niż pojedyncza
cyfra 0. Parametry pozycyjne są przypisywane z argumentów powłoki, gdy jest
wywoływane i mogą być ponownie przypisane za pomocą zestaw wbudowane polecenie. Parametry pozycyjne mogą
nie być przypisywany za pomocą instrukcji przypisania. Parametry pozycyjne są tymczasowo
zastępowane, gdy wykonywana jest funkcja powłoki (zobacz FUNKCJE poniżej).

Gdy parametr pozycyjny składający się z więcej niż jednej cyfry jest rozwijany, musi być
ujęty w nawiasy klamrowe (patrz EKSPANSJA poniżej).

Specjalny parametry
Powłoka specjalnie traktuje kilka parametrów. Do tych parametrów można się jedynie odwoływać;
przypisanie do nich jest niedozwolone.
* Rozwija się do parametrów pozycyjnych, zaczynając od jednego. Kiedy ekspansja nie jest
w podwójnych cudzysłowach każdy parametr pozycyjny rozwija się do osobnego słowa. w
kontekstach, w których jest wykonywana, słowa te podlegają dalszemu podziałowi na słowa
i rozszerzenie ścieżki. Gdy rozwinięcie następuje w cudzysłowie, rozwija się
do pojedynczego słowa z wartością każdego parametru oddzieloną pierwszym znakiem
ukończenia IFS zmienna specjalna. To jest, "$*" jest równa "$1c$2c...", gdzie c
jest pierwszym znakiem wartości IFS zmienny. Gdyby IFS nie jest ustawiony,
parametry są oddzielone spacjami. Gdyby IFS ma wartość null, parametry są połączone
bez wtrącających się separatorów.
@ Rozwija się do parametrów pozycyjnych, zaczynając od jednego. Kiedy następuje ekspansja
w podwójnych cudzysłowach każdy parametr rozwija się do osobnego słowa. To jest, "$@"jest
równoważny "$1""$2" ... Jeśli rozwinięcie w cudzysłowie występuje w słowie,
rozwinięcie pierwszego parametru jest połączone z początkową częścią
oryginalne słowo, a rozwinięcie ostatniego parametru jest łączone z ostatnią częścią
oryginalnego słowa. Gdy nie ma parametrów pozycyjnych, "$@" i $@ rozszerzać
do niczego (tzn. są usuwane).
# Rozwija się do liczby parametrów pozycyjnych w postaci dziesiętnej.
? Rozszerza się do stanu wyjścia ostatnio wykonanego potoku pierwszego planu.
- Rozszerza się do aktualnych flag opcji określonych podczas wywołania, przez zestaw
polecenie wbudowane lub te ustawione przez samą powłokę (takie jak -i opcja).
$ Rozwija się do identyfikatora procesu powłoki. W podpowłoce () rozwija się do
identyfikator procesu bieżącej powłoki, a nie podpowłoki.
! Rozwija się do identyfikatora procesu ostatnio umieszczonego w tle,
niezależnie od tego, czy jest wykonywany jako polecenie asynchroniczne, czy przy użyciu bg wbudowany (patrz PRACA
CONTROL poniżej).
0 Rozwija się do nazwy powłoki lub skryptu powłoki. To jest ustawione w powłoce
inicjalizacja. Gdyby bash jest wywoływany z plikiem poleceń, $0 jest ustawiony na nazwę
tego pliku. Gdyby bash zaczyna się od -c opcja, to $0 jest ustawiony na pierwszy
argument po łańcuchu do wykonania, jeśli taki istnieje. W przeciwnym razie jest ustawiony
do nazwy pliku użytej do wywołania bash, zgodnie z argumentem zero.
_ Podczas uruchamiania powłoki ustaw ścieżkę bezwzględną używaną do wywołania powłoki lub powłoki
skrypt jest wykonywany jako przekazany w środowisku lub liście argumentów. Następnie,
rozwija się do ostatniego argumentu poprzedniego polecenia, po rozwinięciu. Ustaw również na
pełna ścieżka używana do wywołania każdego polecenia wykonanego i umieszczonego w
środowisko wyeksportowane do tego polecenia. Podczas sprawdzania poczty ten parametr przechowuje
nazwa aktualnie sprawdzanego pliku poczty.

Powłoka Zmienne
Powłoka ustawia następujące zmienne:

BASH Rozwija się do pełnej nazwy pliku użytej do wywołania tego wystąpienia bash.
BASOPTY
Lista oddzielonych dwukropkami włączonych opcji powłoki. Każde słowo na liście jest prawidłowe
argument za -s opcja do zakupy polecenie wbudowane (zobacz SHELL WBUDOWANE POLECENIA
poniżej). Opcje pojawiające się w BASOPTY czy te zgłoszone jako on by zakupy. Jeśli
ta zmienna jest w środowisku, gdy bash uruchamia się, każda opcja powłoki w
lista zostanie włączona przed odczytaniem jakichkolwiek plików startowych. Ta zmienna jest tylko do odczytu.
BASHPID
Rozszerza się do identyfikatora procesu bieżącego bash proces. Różni się to od $$ dla
pewne okoliczności, takie jak podpowłoki, które nie wymagają bash być ponownie
zainicjowany.
BASH_ALIASES
Tablica asocjacyjna, której elementy odpowiadają wewnętrznej liście
aliasy utrzymywane przez alias wbudowany. Elementy dodane do tej tablicy pojawiają się w
lista aliasów; cofnięcie ustawienia elementów tablicy powoduje usunięcie aliasów z aliasu
lista.
BASH_ARGC
Zmienna tablicowa, której wartości są liczbą parametrów w każdej ramce
aktualne bash stos wywołań wykonania. Ilość parametrów do prądu
podprogram (funkcja powłoki lub skrypt wykonywany za pomocą . or źródło) znajduje się na górze
stos. Gdy podprogram jest wykonywany, liczba przekazywanych parametrów wynosi
wepchnięty BASH_ARGC. Zestawy muszli BASH_ARGC tylko w przypadku rozszerzonego debugowania
tryb (patrz opis extdebug opcja do zakupy wbudowany poniżej)
BASH_ARGV
Zmienna tablicowa zawierająca wszystkie parametry w bieżącej bash egzekucja
stos wywołań. Ostatni parametr ostatniego wywołania podprogramu znajduje się na górze
stos; pierwszy parametr wywołania początkowego znajduje się na dole. Kiedy podprogram
jest wykonywany, podane parametry są wpychane na BASH_ARGV. Zestawy muszli
BASH_ARGV tylko w trybie rozszerzonego debugowania (patrz opis extdebug
opcja do zakupy wbudowany poniżej)
BASH_CMDS
Tablica asocjacyjna, której elementy odpowiadają wewnętrznej tablicy mieszającej
poleceń utrzymywanych przez haszysz wbudowany. Pojawiają się elementy dodane do tej tablicy
w tablicy mieszającej; cofnięcie ustawienia elementów tablicy powoduje usunięcie poleceń z
tablica mieszająca.
BASH_COMMAND
Polecenie aktualnie wykonywane lub ma być wykonane, chyba że powłoka jest
wykonanie polecenia w wyniku pułapki, w tym przypadku jest to polecenie
wykonujący się w czasie pułapki.
BASH_EXECUTION_STRING
Argument polecenia do -c opcja wywołania.
BASH_LINE NIE
Zmienna tablicowa, której członkami są numery wierszy w plikach źródłowych, gdzie każdy
członek korespondent NAZWA FUNKCJI został powołany. ${BASH_LINENIE[$i]} jest linia
numer w pliku źródłowym (${BASH_SOURCE[$i+1]}) gdzie ${NAZWA FUNKCJI[$i]} nazwano
(lub ${BASH_LINENIE[$i-1]} jeśli odwołuje się do innej funkcji powłoki). Posługiwać się LINIA NIE
aby uzyskać aktualny numer linii.
BASH_REMATCH
Zmienna tablicowa, której elementy są przypisywane przez =~ operator binarny do [[
polecenie warunkowe. Element o indeksie 0 jest częścią ciągu
pasujące do całego wyrażenia regularnego. Element z indeksem n jest częścią
ciąg pasujący do npodwyrażenie w nawiasach. Ta zmienna jest odczytywana-
tylko.
BASH_SOURCE
Zmienna tablicowa, której członkami są nazwy plików źródłowych, w których odpowiedni
nazwy funkcji powłoki w NAZWA FUNKCJI zmienne tablicowe są zdefiniowane. Muszla
funkcjonować ${NAZWA FUNKCJI[$i]} jest zdefiniowany w pliku ${BASH_SOURCE[$i]} i zadzwonił z
${BASH_SOURCE[$i+1]}.
BASH_POWŁOKA
Zwiększona o jeden w każdym środowisku podpowłoki lub podpowłoki, gdy powłoka
zaczyna działać w tym środowisku. Wartość początkowa to 0.
BASH_VERSINFO
Zmienna tablicowa tylko do odczytu, której członkowie przechowują informacje o wersji dla tego wystąpienia
of bash. Wartości przypisane do elementów tablicy są następujące:
BASH_VERSINFO[0] Główny numer wersji ( zwolnić).
BASH_VERSINFO[1] Numer wersji pomocniczej ( wersja).
BASH_VERSINFO[2] Poziom poprawki.
BASH_VERSINFO[3] Wersja kompilacji.
BASH_VERSINFO[4] Stan wydania (np. beta1).
BASH_VERSINFO[5] Wartość TYP MACHOWY.
BASH_VERSION
Rozwija się do ciągu opisującego wersję tego wystąpienia bash.
COMP_CWORD
Indeks do ${COMP_WORDS} słowa zawierającego aktualną pozycję kursora.
Ta zmienna jest dostępna tylko w funkcjach powłoki wywoływanych przez programowalny
wyposażenie do realizacji (patrz Programowalny Completion poniżej).
KOMP_KLUCZ
Klawisz (lub ostatni klawisz sekwencji klawiszy) używany do wywołania bieżącego uzupełnienia
funkcja.
COMP_LINE
Bieżąca linia poleceń. Ta zmienna jest dostępna tylko w funkcjach powłoki i
polecenia zewnętrzne wywoływane przez narzędzia programowalnego uzupełniania (zobacz
Programowalny Completion poniżej).
PUNKT_KOMPLETOWY
Indeks bieżącej pozycji kursora w stosunku do początku bieżącego
Komenda. Jeśli bieżąca 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 poleceniach zewnętrznych wywoływanych przez programowalne uzupełnianie
obiekty (patrz Programowalny Completion poniżej).
TYP_KOMPLETU
Ustaw na wartość całkowitą odpowiadającą rodzajowi próby ukończenia tego
spowodowało wywołanie funkcji uzupełniania: TAB, do normalnego zakończenia, ?, Dla
zestawienie uzupełnień po kolejnych zakładkach, !, aby wyświetlić alternatywy na częściowe
uzupełnianie słów, @, aby wyświetlić uzupełnienia, jeśli słowo nie jest niezmodyfikowane, lub %, Dla
uzupełnienie menu. Ta zmienna jest dostępna tylko w funkcjach powłoki i zewnętrznych
polecenia wywoływane przez narzędzia programowalnego uzupełniania (zobacz Programowalny
Completion poniżej).
COMP_WORDbreakS
Zestaw znaków, które Czytaj linię biblioteka traktuje jako separatory słów, gdy
wykonywanie uzupełniania słów. Gdyby COMP_WORDbreakS jest rozbrojony, traci swój szczególny charakter
właściwości, nawet jeśli zostanie później zresetowany.
KOMP_WORDS
Zmienna tablicowa (patrz Tablice poniżej) składający się z poszczególnych słów w
bieżąca linia poleceń. Linia jest podzielona na słowa, jak Czytaj linię podzieliłby to,
za pomocą COMP_WORDbreakS jak opisano powyżej. Ta zmienna jest dostępna tylko w powłoce
funkcje wywoływane przez programowalne narzędzia uzupełniania (zobacz Programowalny
Completion poniżej).
COPROC Zmienna tablicowa (patrz Tablice poniżej) utworzony do przechowywania deskryptorów plików dla
wyjście zi wejście do nienazwanego koprocesu (zobacz Koprocesy powyżej).
KURTKA
Zmienna tablicowa (patrz Tablice poniżej) zawierający aktualną zawartość
stos katalogów. Katalogi pojawiają się na stosie w kolejności, w jakiej są wyświetlane
przez dirs wbudowany. Przypisanie do członków tej zmiennej tablicowej może służyć do:
modyfikować katalogi już na stosie, ale pushd i popd wbudowane muszą być
służy do dodawania i usuwania katalogów. Przypisanie do tej zmiennej nie zmieni się
bieżący katalog. Gdyby KURTKA jest rozbrojony, nawet traci swoje szczególne właściwości
jeśli zostanie następnie zresetowany.
EUID Rozwija się do efektywnego identyfikatora bieżącego użytkownika, zainicjowanego podczas uruchamiania powłoki.
Ta zmienna jest tylko do odczytu.
NAZWA FUNKCJI
Zmienna tablicowa zawierająca nazwy wszystkich funkcji powłoki znajdujących się obecnie w
stos wywołań wykonania. Element o indeksie 0 jest nazwą dowolnego aktualnie-
wykonywanie funkcji powłoki. Najniższy element (ten z najwyższym indeksem)
jest „główny”. Ta zmienna istnieje tylko wtedy, gdy wykonywana jest funkcja powłoki.
Zadania do NAZWA FUNKCJI nie działają i zwracają stan błędu. Gdyby NAZWA FUNKCJI is
nieustawiony, traci swoje specjalne właściwości, nawet jeśli zostanie później zresetowany.

Ta zmienna może być używana z BASH_LINE NIE i BASH_SOURCE. Każdy element
NAZWA FUNKCJI ma odpowiednie elementy w BASH_LINE NIE i BASH_SOURCE opisać
stos wywołań. Na przykład, ${NAZWA FUNKCJI[$i]} został wywołany z akt
${BASH_SOURCE[$i+1]} pod numerem linii ${BASH_LINENIE[$i]}, dzwoniący wbudowany
wyświetla bieżący stos wywołań przy użyciu tych informacji.
GRUPY Zmienna tablicowa zawierająca listę grup, których aktualny użytkownik jest
członek. Zadania do GRUPY nie działają i zwracają stan błędu. Gdyby
GRUPY jest nieuzbrojony, traci swoje specjalne właściwości, nawet jeśli zostanie później zresetowany.
HISTCMD
Numer historii lub indeks na liście historii bieżącego polecenia. Gdyby
HISTCMD jest rozbrojony, traci swoje szczególne właściwości, nawet jeśli jest później
zresetować.
NAZWA HOSTA
Automatycznie ustawiana na nazwę bieżącego hosta.
TYP HOSTA
Automatycznie ustawiany na ciąg, który jednoznacznie opisuje typ maszyny, na której
bash wykonuje. Wartość domyślna zależy od systemu.
LINIA NIE Za każdym razem, gdy występuje odwołanie do tego parametru, powłoka zastępuje liczbę dziesiętną
reprezentujący bieżący numer sekwencyjny wiersza (zaczynający się od 1) w skrypcie
lub funkcja. Gdy nie znajduje się w skrypcie lub funkcji, podstawiona wartość nie jest
gwarantowane, że będą znaczące. Gdyby LINIA NIE jest rozbrojony, traci swoje szczególne właściwości,
nawet jeśli zostanie później zresetowany.
TYP MACHOWY
Automatycznie ustawiany na ciąg, który w pełni opisuje typ systemu, na którym bash is
wykonywanie, w standardowym GNU system-procesora-firmy format. Wartość domyślna to system-
zależny.
PLIK MAPOWY
Zmienna tablicowa (patrz Tablice poniżej) stworzony do przechowywania tekstu czytanego przez plik mapy
wbudowane, gdy nie podano nazwy zmiennej.
STARODPWD Poprzedni katalog roboczy ustawiony przez cd dowództwo.
OPTARG Wartość ostatniego argumentu opcji przetwarzanego przez getopty polecenie wbudowane (zobacz
SHELL WBUDOWANE POLECENIA poniżej).
OPTYCZNY Indeks następnego argumentu do przetworzenia przez getopty polecenie wbudowane (zobacz
SHELL WBUDOWANE POLECENIA poniżej).
TYP Automatycznie ustawiany na ciąg opisujący system operacyjny, na którym bash is
wykonanie. Wartość domyślna zależy od systemu.
STATUS RURY
Zmienna tablicowa (patrz Tablice poniżej) zawierający listę wartości statusu wyjścia z
procesy w ostatnio wykonanym potoku pierwszoplanowym (który może zawierać:
tylko jedno polecenie).
PPID Identyfikator procesu rodzica powłoki. Ta zmienna jest tylko do odczytu.
PWD Bieżący katalog roboczy ustawiony przez cd dowództwo.
LOSOWY Za każdym razem, gdy występuje odwołanie do tego parametru, losowa liczba całkowita z zakresu od 0 do 32767 to
wygenerowane. Sekwencję liczb losowych można zainicjować, przypisując wartość
do LOSOWY. Jeśli LOSOWY jest rozbrojony, traci swoje szczególne właściwości, nawet jeśli jest
następnie zresetować.
READLINE_LINE
Zawartość Czytaj linię bufor linii, do użytku z "bind -x" (zobacz SHELL WBUDOWANE
POLECENIA poniżej).
READLINE_POINT
Pozycja punktu wstawiania w Czytaj linię bufor linii, do użytku z "bind
-x" (patrz SHELL WBUDOWANE POLECENIA poniżej).
ODPOWIADAĆ Ustaw na wiersz wejścia odczytanego przez czytać polecenie wbudowane, gdy nie ma argumentów
dostarczane.
SEKUNDY
Za każdym razem, gdy występuje odwołanie do tego parametru, liczba sekund od powłoki
wywołanie jest zwracane. Jeśli wartość jest przypisana do SEKUNDY, wartość zwrócona po
kolejne referencje to liczba sekund od przypisania plus wartość
przydzielony. Gdyby SEKUNDY jest rozbrojony, traci swoje szczególne właściwości, nawet jeśli jest
następnie zresetować.
MUSZLE
Lista oddzielonych dwukropkami włączonych opcji powłoki. Każde słowo na liście jest prawidłowe
argument za -o opcja do zestaw polecenie wbudowane (zobacz SHELL WBUDOWANE POLECENIA
poniżej). Opcje pojawiające się w MUSZLE czy te zgłoszone jako on by zestaw -o. Jeśli
ta zmienna jest w środowisku, gdy bash uruchamia się, każda opcja powłoki w
lista zostanie włączona przed odczytaniem jakichkolwiek plików startowych. Ta zmienna jest tylko do odczytu.
SHLVL Zwiększana o jeden za każdym razem, gdy wystąpi bash jest rozpoczęty.
UID Rozwija się do identyfikatora bieżącego użytkownika, zainicjowanego podczas uruchamiania powłoki. Ten
zmienna jest tylko do odczytu.

Powłoka używa następujących zmiennych. W niektórych przypadkach, bash przypisuje wartość domyślną
wartość do zmiennej; przypadki te są opisane poniżej.

BASH_COMPAT
Wartość jest używana do ustawienia poziomu zgodności powłoki. Zobacz opis
dotychczasowy zakupy wbudowany poniżej pod SHELL WBUDOWANE POLECENIA dla opisu
różne poziomy kompatybilności i ich efekty. Wartość może być liczbą dziesiętną
(np. 4.2) lub liczbę całkowitą (np. 42) odpowiadającą pożądanej zgodności
poziom. Gdyby BASH_COMPAT jest nieustawiony lub ustawiony na pusty ciąg, poziom zgodności
jest ustawiony na wartość domyślną dla bieżącej wersji. Gdyby BASH_COMPAT jest ustawiona na wartość
to nie jest jeden z prawidłowych poziomów kompatybilności, powłoka wypisuje błąd
komunikat i ustawia poziom zgodności na domyślny dla bieżącej wersji.
Obowiązujące poziomy zgodności odpowiadają opcjom zgodności akceptowanym przez
dotychczasowy zakupy wbudowane opisane poniżej (na przykład kompatybilność42 oznacza, że ​​4.2 i 42 są
prawidłowe wartości). Aktualna wersja jest również prawidłową wartością.
BASH_ENV
Jeśli ten parametr jest ustawiony, gdy bash wykonuje skrypt powłoki, jego wartość to
interpretowane jako nazwa pliku zawierająca polecenia inicjujące powłokę, jak w
~ / .bashrc. Wartość BASH_ENV podlega ekspansji parametrów, komenda
podstawienia i interpretacji arytmetycznej przed interpretacją jako nazwę pliku.
PATH nie jest używany do wyszukiwania wynikowej nazwy pliku.
BASH_XTRACEFD
Jeśli jest ustawiony na liczbę całkowitą odpowiadającą poprawnemu deskryptorowi pliku, bash napisze
wyjście śledzenia generowane, gdy zestaw -x jest włączony do tego deskryptora pliku. Plik
deskryptor jest zamknięty, gdy BASH_XTRACEFD jest nieustawiona lub ma przypisaną nową wartość.
Rozbrojenie BASH_XTRACEFD lub przypisanie go do pustego ciągu powoduje, że wyjście śledzenia do
być wysyłane do standardowego błędu. Zwróć uwagę, że ustawienie BASH_XTRACEFD do 2 (standardowy)
deskryptor pliku błędu), a następnie jego usunięcie spowoduje wyświetlenie standardowego błędu
zamknięte.
CDPATH Ścieżka wyszukiwania dla cd Komenda. To jest lista katalogów rozdzielonych dwukropkami
w którym powłoka szuka katalogów docelowych określonych przez cd dowództwo.
Przykładowa wartość to ".:~:/ usr".
DZIECKO_MAKS
Ustawia liczbę wartości statusów potomnych, które zakończyły działanie, które powłoka ma zapamiętać. Bash będzie
nie zezwalaj na zmniejszenie tej wartości poniżej wymaganego przez POSIX minimum, i istnieje
maksymalna wartość (obecnie 8192), której nie może przekroczyć. Minimalna wartość to
zależne od systemu.
KOLUMNY
Używane przez wybierać polecenie złożone do określenia szerokości terminala podczas drukowania
listy wyboru. Automatycznie ustaw, jeśli sprawdźwinsize opcja jest włączona lub w
interaktywna powłoka po otrzymaniu WYCIĄGARKA.
KOMPLETNIE
Zmienna tablicowa, z której bash odczytuje możliwe uzupełnienia generowane przez a
funkcja powłoki wywoływana przez funkcję programowalnego uzupełniania (zobacz Programowalny
Completion poniżej). Każdy element tablicy zawiera jedno możliwe uzupełnienie.
EMACS If bash znajduje tę zmienną w środowisku, gdy powłoka zaczyna się od wartości
"t", zakłada, że ​​powłoka działa w buforze powłoki Emacsa i wyłącza
edycja linii.
ENV Podobny do BASH_ENV; używane, gdy powłoka jest wywoływana w trybie POSIX.
FCEDYT Domyślny edytor dla fc wbudowane polecenie.
FIGNORUJ
Lista rozdzielonych dwukropkami przyrostków do zignorowania podczas wykonywania uzupełniania nazw plików
(Patrz CZYTAJ LINIĘ poniżej). Nazwa pliku, którego przyrostek pasuje do jednego z wpisów w
FIGNORUJ jest wykluczony z listy pasujących nazw plików. Przykładowa wartość to „.o:~”
(Cytowanie jest potrzebne podczas przypisywania wartości do tej zmiennej, która zawiera tyldy).
NAJZABAWNIEJSZE
Jeśli jest ustawiony na wartość liczbową większą niż 0, określa maksymalny poziom zagnieżdżenia funkcji.
Wywołania funkcji, które przekraczają ten poziom zagnieżdżenia, spowodują bieżące polecenie
aby przerwać.
GLOBIGNOR
Oddzielona dwukropkami lista wzorców definiujących zestaw nazw plików, które mają być ignorowane przez
rozwijanie ścieżki. Jeśli nazwa pliku pasuje również do wzorca rozwijania nazwy ścieżki
pasuje do jednego z wzorów w GLOBIGNOR, jest usuwany z listy dopasowań.
KONTROLA HISTORII
Oddzielona dwukropkami lista wartości kontrolujących sposób zapisywania poleceń w historii
lista. Jeśli lista wartości zawiera ignoruj ​​spację, wiersze zaczynające się na a przestrzeń
znaki nie są zapisywane na liście historii. Wartość zignorowane kopie powoduje linie
pasujące do poprzedniego wpisu historii, aby nie były zapisywane. Wartość ignoruj ​​oba is
skrót od ignoruj ​​spację i zignorowane kopie. Wartość wymazane powoduje wszystkie poprzednie
wiersze pasujące do bieżącego wiersza, które mają zostać wcześniej usunięte z listy historii
linia została zapisana. Każda wartość, której nie ma na powyższej liście, jest ignorowana. Gdyby KONTROLA HISTORII is
nieustawiona lub nie zawiera prawidłowej wartości, wszystkie wiersze odczytywane przez parser powłoki są
zapisane na liście historii, z zastrzeżeniem wartości HISTIGNOR. Drugi i
kolejne wiersze wielowierszowego polecenia złożonego nie są testowane i są dodawane do
historia bez względu na wartość KONTROLA HISTORII.
PLIK HIST
Nazwa pliku, w którym zapisana jest historia poleceń (zobacz HISTORIA poniżej). ten
domyślna wartość to ~ / .bash_historia. Jeśli nie jest ustawiona, historia poleceń nie jest zapisywana, gdy
powłoka wychodzi.
HISTROZMIARPLIKU
Maksymalna liczba wierszy zawartych w pliku historii. Kiedy ta zmienna to
przypisana wartość, plik historii jest obcinany, jeśli to konieczne, aby nie zawierał więcej
niż ta liczba wierszy, usuwając najstarsze wpisy. Plik historii jest również
obcięty do tego rozmiaru po zapisaniu go, gdy powłoka kończy działanie. Jeśli wartość wynosi 0,
plik historii jest obcinany do rozmiaru zerowego. Wartości nienumeryczne i wartości numeryczne less
niż zero wstrzymuje obcinanie. Powłoka ustawia domyślną wartość na
ROZMIAR HIST po odczytaniu jakichkolwiek plików startowych.
HISTIGNOR
Lista rozdzielonych dwukropkami wzorców używanych do decydowania, które wiersze poleceń powinny być
zapisane na liście historii. Każdy wzór jest zakotwiczony na początku linii
i musi pasować do całej linii (bez niejawnego `*' jest dołączany). Każdy wzór jest
testowane względem linii po kontrolach określonych przez KONTROLA HISTORII są stosowane. w
dodatek do normalnych znaków pasujących do wzorca powłoki, `&' pasuje do poprzedniego
linia historii. `&' można zmienić za pomocą odwrotnego ukośnika; odwrotny ukośnik został usunięty
przed przystąpieniem do meczu. Druga i kolejne linie multilinii
polecenia złożone nie są testowane i są dodawane do historii niezależnie od
wartość HISTIGNOR.
ROZMIAR HIST
Liczba poleceń do zapamiętania w historii poleceń (patrz HISTORIA poniżej). Gdyby
wartość wynosi 0, komendy nie są zapisywane na liście historii. Wartości liczbowe mniej
niż zero powoduje zapisanie każdego polecenia na liście historii (nie ma
limit). Powłoka ustawia domyślną wartość na 500 po odczytaniu dowolnych plików startowych.
HISTORIA FORMATU CZASU
Jeśli ta zmienna jest ustawiona i nie jest pusta, jej wartość jest używana jako ciąg formatujący dla
strftime.(3), aby wydrukować znacznik czasu związany z każdym wpisem historii wyświetlanym przez
dotychczasowy historia wbudowany. Jeśli ta zmienna jest ustawiona, znaczniki czasu są zapisywane w
plik historii, aby mogły być zachowane w sesjach powłoki. To wykorzystuje historię
znak komentarza, aby odróżnić znaczniki czasu od innych wierszy historii.
HOME Katalog domowy bieżącego użytkownika; domyślny argument dla cd wbudowany
Komenda. Wartość tej zmiennej jest również używana podczas wykonywania rozwinięcia tyldy.
PLIK HOST
Zawiera nazwę pliku w tym samym formacie co / Etc / hosts to powinno być przeczytane
gdy powłoka musi uzupełnić nazwę hosta. Lista możliwych nazw hostów
uzupełnienia mogą być zmieniane podczas działania powłoki; następnym razem nazwa hosta
próba zakończenia następuje po zmianie wartości, bash dodaje zawartość
nowy plik do istniejącej listy. Gdyby PLIK HOST jest ustawiony, ale nie ma wartości lub nie ma wartości
nazwij czytelny plik, bash próbuje czytać / Etc / hosts uzyskać listę
możliwe uzupełnienia nazw hostów. Kiedy PLIK HOST nie jest ustawiona, lista nazw hostów to
wyczyszczone.
IFS Połączenia Wewnętrzne Pole Separator który jest używany do dzielenia słów po rozwinięciu i do
podziel linie na słowa za pomocą czytać wbudowane polecenie. Domyślna wartość to
`` ''.
IGNORUJ
Kontroluje działanie powłoki interaktywnej po otrzymaniu EOF znak jako
jedyne wejście. Jeśli jest ustawiona, wartością jest liczba kolejnych EOF postacie, które
należy wpisać jako pierwsze znaki w wierszu wejściowym przed bash wyjść. Jeśli
zmienna istnieje, ale nie ma wartości liczbowej lub nie ma wartości, wartość domyślna
wartość wynosi 10. Jeśli nie istnieje, EOF oznacza koniec danych wejściowych do powłoki.
WEJŚCIE
Nazwa pliku dla Czytaj linię plik startowy, zastępujący domyślny ~ / .inputrc
(Patrz CZYTAJ LINIĘ poniżej).
JĘZYK Służy do określania kategorii ustawień regionalnych dla dowolnej kategorii, która nie została specjalnie wybrana
ze zmienną zaczynającą się od LC_.
LC_ALL Ta zmienna zastępuje wartość JĘZYK i inne LC_ zmienna określająca a
kategoria regionalna.
LC_COLLATE
Ta zmienna określa porządek sortowania używany podczas sortowania wyników
rozwijanie ścieżki i określa zachowanie wyrażeń zakresu, równoważności
klas i porównywania sekwencji w ramach rozwijania ścieżek i dopasowywania wzorców.
LC_CTYPE
Ta zmienna determinuje interpretację postaci i zachowanie
klasy znaków w ramach rozwijania ścieżek i dopasowywania wzorców.
LC_MESSAGES
Ta zmienna określa ustawienia regionalne używane do tłumaczenia łańcuchów w podwójnych cudzysłowach
poprzedzone $.
LC_NUMERIC
Ta zmienna określa kategorię ustawień regionalnych używaną do formatowania liczb.
LINIE Używane przez wybierać polecenie złożone do określenia długości kolumny do drukowania
listy wyboru. Automatycznie ustaw, jeśli sprawdźwinsize opcja jest włączona lub w
interaktywna powłoka po otrzymaniu WYCIĄGARKA.
MAIL Jeśli ten parametr jest ustawiony na nazwę pliku lub katalogu, a ŚCIEŻKA POCZTY zmienną jest
nie ustawiony, bash informuje użytkownika o nadejściu poczty w określonym pliku lub
Katalog w formacie Maildir.
SPRAWDZANIE POCZTY
Określa, jak często (w sekundach) bash sprawdza pocztę. Wartość domyślna to 60 sekund.
Gdy nadejdzie czas, aby sprawdzić pocztę, powłoka robi to przed wyświetleniem podstawowego
podpowiedź. Jeśli ta zmienna jest nieustawiona lub ustawiona na wartość, która nie jest liczbą większą
równy lub równy zero, powłoka wyłącza sprawdzanie poczty.
ŚCIEŻKA POCZTY
Lista rozdzielonych dwukropkami nazw plików do sprawdzenia pod kątem poczty. Wiadomość, którą należy
drukowane, gdy poczta przychodzi w określonym pliku, można określić, oddzielając
nazwa pliku z wiadomości ze znakiem `?'. W przypadku użycia w tekście wiadomości, $_
rozwija się do nazwy bieżącego pliku pocztowego. Przykład:
ŚCIEŻKA POCZTY='/var/mail/bfox?"Masz pocztę":~/powłoka-poczta„$_ ma pocztę!”'
Bash dostarcza wartość domyślną dla tej zmiennej, ale lokalizacja poczty użytkownika
pliki, których używa, są zależne od systemu (np. /var/poczta/$ USER).
OPTERR Jeśli ustawiony na wartość 1, bash wyświetla komunikaty o błędach generowane przez getopty
polecenie wbudowane (zobacz SHELL WBUDOWANE POLECENIA poniżej). OPTERR jest inicjowany na 1
za każdym razem, gdy wywoływana jest powłoka lub wykonywany jest skrypt powłoki.
PATH Ścieżka wyszukiwania poleceń. Jest to rozdzielona dwukropkami lista katalogów, w których
powłoka szuka poleceń (zobacz COMMAND WYKONANIE poniżej). Zerowa długość (null)
nazwa katalogu w wartości PATH wskazuje aktualny katalog. null
nazwa katalogu może pojawić się jako dwa sąsiadujące ze sobą dwukropki, jako inicjał lub końcówka
okrężnica. Domyślna ścieżka jest zależna od systemu i jest ustawiana przez administratora, który:
instalacji bash. Wspólną wartością jest ``/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/kosz:/ sbin''.
POSIXLY_CORRECT
Jeśli ta zmienna znajduje się w środowisku, gdy bash zaczyna, pocisk wchodzi posix
tryb przed odczytaniem plików startowych, tak jakby --posiks opcja wywołania była
dostarczony. Jeśli jest ustawiony, gdy powłoka jest uruchomiona, bash Umożliwia posix tryb, jak gdyby
Komenda zestaw -o posix został stracony.
PROMPT_COMMAND
Jeśli jest ustawiona, wartość jest wykonywana jako polecenie przed wysłaniem każdego podstawowego monitu.
PROMPT_DIRTRIM
Jeśli jest ustawiona na liczbę większą od zera, wartość jest używana jako liczba końcówek
składniki katalogu do zachowania podczas rozwijania \w i \W znak zachęty ucieka
(Patrz PODSZEPT poniżej). Usunięte znaki są zastępowane wielokropkiem.
PS1 Wartość tego parametru jest rozwijana (patrz PODSZEPT poniżej) i używane jako
podstawowy ciąg zachęty. Domyślna wartość to ``\s-\v\$ ''.
PS2 Wartość tego parametru jest rozwijana jak z PS1 i używany jako wtórny
ciąg zachęty. Wartość domyślna to ``> ''.
PS3 Wartość tego parametru jest używana jako znak zachęty dla wybierać polecenie (patrz SHELL
GRAMATYKA powyżej).
PS4 Wartość tego parametru jest rozwijana jak z PS1 a wartość jest drukowana przed
każde polecenie bash wyświetla się podczas śledzenia wykonania. Pierwsza postać PS4
jest powielany wielokrotnie, w razie potrzeby, aby wskazać wiele poziomów
pośredni. Wartość domyślna to ``+ ''.
SHELL Pełna ścieżka do powłoki jest przechowywana w tej zmiennej środowiskowej. Jeżeli nie jest
ustawić, kiedy powłoka startuje, bash przypisuje mu pełną nazwę ścieżki bieżącego
powłoka logowania użytkownika.
FORMAT CZASU
Wartość tego parametru jest używana jako ciąg formatujący określający sposób odmierzania czasu
informacje dla rurociągów poprzedzone przedrostkiem czas powinno być wyświetlane słowo zastrzeżone.
Połączenia % znak wprowadza sekwencję ucieczki, która jest rozwijana do wartości czasu lub
inne informacje. Sekwencje ucieczki i ich znaczenie są następujące; ten
nawiasy klamrowe oznaczają części opcjonalne.
%% Dosłowny %.
%[p][l] R Upływający czas w sekundach.
%[p][l] U Liczba sekund procesora spędzonych w trybie użytkownika.
%[p[l]S Liczba sekund procesora spędzonych w trybie systemowym.
%P Procent procesora obliczany jako (%U + %S) / %R.

Opcjonalne p to cyfra określająca precyzja, liczba cyfr ułamkowych
po przecinku. Wartość 0 powoduje, że nie ma kropki dziesiętnej ani ułamka dziesiętnego
wyjście. Można podać co najwyżej trzy miejsca po przecinku; wartości p
większe niż 3 są zmieniane na 3. Jeśli p nie określono, używana jest wartość 3.

Opcjonalne l określa dłuższy format, w tym minuty, formularza MMmSS.FFs.
Wartość p określa, czy ułamek jest uwzględniony.

Jeśli ta zmienna nie jest ustawiona, bash zachowuje się tak, jakby miał wartość
$'\nreal\t%3lR\nużytkownik\t%3lU\nsys\t%3lS'. Jeśli wartość ma wartość null, brak czasu
wyświetlane są informacje. Końcowy znak nowej linii jest dodawany, gdy ciąg formatujący to
wystawiany.
TMOUT Jeśli jest ustawiony na wartość większą od zera, TMOUT jest traktowany jako domyślny limit czasu dla
dotychczasowy czytać wbudowany. ten wybierać polecenie kończy się, jeśli dane wejściowe nie dotrą po
TMOUT sekund, gdy dane wejściowe pochodzą z terminala. W interaktywnej powłoce
wartość jest interpretowana jako liczba sekund oczekiwania na wiersz wejścia po
wydanie głównego monitu. Bash kończy się po odczekaniu tej liczby
sekund, jeśli nie nadejdzie pełna linia danych wejściowych.
TMPDIR Jeśli ustawione, bash używa swojej wartości jako nazwy katalogu, w którym bash tworzy
pliki tymczasowe do użytku powłoki.
auto_wznowienie
Ta zmienna kontroluje sposób interakcji powłoki z użytkownikiem i kontrolą zadania. Gdyby
ta zmienna jest ustawiona, traktowane są proste polecenia jednowyrazowe bez przekierowań
jako kandydaci do wznowienia dotychczasowej przerwanej pracy. Nie ma dwuznaczności
dozwolony; jeśli istnieje więcej niż jedno zadanie rozpoczynające się wpisanym łańcuchem, zadanie
ostatnio otwierany jest zaznaczony. ten Nazwa przerwanej pracy, w tym kontekście jest
wiersz poleceń użyty do jego uruchomienia. Jeśli ustawiono na wartość dokładny, dostarczony ciąg
musi dokładnie odpowiadać nazwie zatrzymanego zadania; jeśli ustawione na podciąg, ciąg
dostarczone musi pasować do podciągu nazwy zatrzymanego zadania. ten podciąg
wartość zapewnia funkcjonalność analogiczną do %? identyfikator zadania (patrz PRACA CONTROL
poniżej). Jeśli jest ustawiony na dowolną inną wartość, dostarczony ciąg musi być przedrostkiem a
nazwa przerwanej pracy; zapewnia to funkcjonalność analogiczną do %ciąg praca
identyfikator.
histchary
Dwa lub trzy znaki, które kontrolują rozszerzanie historii i tokenizację (patrz
HISTORIA EKSPANSJA poniżej). Pierwsza postać to historia ekspansja postać,
znak, który sygnalizuje początek interpretacji historii, zwykle `!”. Plik
drugi znak to szybki podstawienie znak, który jest używany jako skrót
za ponowne uruchomienie poprzedniego wprowadzonego polecenia, zastępując jeden ciąg innym w
Komenda. Wartość domyślna to `^„. Opcjonalny trzeci znak to znak
co oznacza, że ​​pozostała część wiersza jest komentarzem, gdy zostanie znaleziona jako pierwsza
znak słowa, zwykle `#„. Znak komentarza historii powoduje historię
zastąpienie, które ma zostać pominięte dla pozostałych słów w wierszu. To nie
koniecznie spowodować, że parser powłoki będzie traktował resztę linii jako komentarz.

Tablice
Bash udostępnia jednowymiarowe indeksowane i asocjacyjne zmienne tablicowe. Każda zmienna może
być używany jako tablica indeksowana; ten ogłosić builtin jawnie zadeklaruje tablicę. Tam
nie ma maksymalnego limitu rozmiaru tablicy ani żadnego wymogu indeksowania członków
lub przypisane w sposób ciągły. Tablice indeksowane są przywoływane za pomocą liczb całkowitych (w tym
wyrażenia arytmetyczne) i są liczone od zera; tablice asocjacyjne są przywoływane za pomocą
dowolne ciągi. O ile nie zaznaczono inaczej, indeksowane indeksy tablic nie mogą być ujemne
liczby całkowite.

Tablica indeksowana jest tworzona automatycznie, jeśli jakakolwiek zmienna jest przypisana za pomocą składni
Nazwa[indeks]=wartość, indeks jest traktowany jako wyrażenie arytmetyczne, które musi
ocenić do liczby. Aby jawnie zadeklarować tablicę indeksowaną, użyj ogłosić -a Nazwa (Patrz
SHELL WBUDOWANE POLECENIA poniżej). ogłosić -a Nazwa[indeks] jest również akceptowana; ten indeks
jest ignorowany.

Tablice asocjacyjne są tworzone za pomocą ogłosić -A Nazwa.

Atrybuty można określić dla zmiennej tablicowej za pomocą ogłosić i tylko czytać wbudowane.
Każdy atrybut dotyczy wszystkich członków tablicy.

Tablice są przypisane za pomocą złożonych przypisań formularza Nazwa=(wartość1 ... wartośćn),
gdzie każdy wartość ma postać [indeks]=ciąg. Indeksowane przypisania tablicy nie
wymagać czegokolwiek, ale ciąg. Podczas przypisywania do tablic indeksowanych, jeśli opcjonalne nawiasy
podano indeks dolny, do którego przypisany jest indeks; w przeciwnym razie indeks elementu
przypisany to ostatni indeks przypisany przez wyciąg plus jeden. Indeksowanie rozpoczyna się o
zero.

Podczas przypisywania do tablicy asocjacyjnej wymagany jest indeks dolny.

Ta składnia jest również akceptowana przez ogłosić wbudowany. Poszczególne elementy tablicy mogą być
przypisany do używania Nazwa[indeks]=wartość składnia wprowadzona powyżej. Podczas przypisywania do
tablica indeksowana, jeśli Nazwa jest indeksowana liczbą ujemną, ta liczba jest interpretowana jako
w stosunku do jednego większego niż maksymalny indeks Nazwa, więc ujemne indeksy odliczają się wstecz
od końca tablicy, a indeks -1 odwołuje się do ostatniego elementu.

Do każdego elementu tablicy można się odwoływać za pomocą ${Nazwa[indeks]}. Szelki są
wymagane, aby uniknąć konfliktów z rozwijaniem nazw plików. Gdyby indeks is @ or *, słowo
rozszerza się na wszystkich członków Nazwa. Te indeksy różnią się tylko wtedy, gdy słowo pojawia się w
podwójne cudzysłowy. Jeśli słowo jest w cudzysłowie, ${Nazwa[*]} rozwija się do pojedynczego słowa z
wartość każdego członka tablicy oddzielona pierwszym znakiem IFS zmienna specjalna,
i ${Nazwa[@]} rozwija każdy element Nazwa do osobnego słowa. Gdy nie ma tablicy
członkowie, ${Nazwa[@]} rozwija się do zera. Jeśli rozwinięcie w cudzysłowie występuje w ciągu a
słowo, rozwinięcie pierwszego parametru jest połączone z początkową częścią
oryginalne słowo, a rozwinięcie ostatniego parametru jest łączone z ostatnią częścią
oryginalne słowo. Jest to analogiczne do rozszerzenia parametrów specjalnych * i @ (Patrz
Specjalny parametry nad). ${#Nazwa[indeks]} rozwija się do długości
${Nazwa[indeks]}. Gdyby indeks is * or @, rozszerzenie to liczba elementów w
tablica. Odwoływanie się do zmiennej tablicowej bez indeksu dolnego jest równoważne odwoływaniu się
tablica z indeksem 0. Jeśli indeks używany do odwoływania się do elementu an
tablica indeksowana zwraca liczbę mniejszą od zera, jest interpretowana jako względna do jedności
większy niż maksymalny indeks tablicy, więc indeksy ujemne odliczają się od końca
tablicy, a indeks -1 odwołuje się do ostatniego elementu.

Zmienna tablicowa jest uważana za ustawioną, jeśli indeksowi dolnemu przypisano wartość. Zerowy
ciąg jest prawidłową wartością.

Możliwe jest uzyskanie kluczy (indeksów) tablicy oraz wartości.
${!Nazwa[@]} i ${!Nazwa[*]} rozwiń do indeksów przypisanych w zmiennej tablicowej Nazwa,
traktowanie w cudzysłowach jest podobne do rozwinięcia parametrów specjalnych @
i * w podwójnych cudzysłowach.

Połączenia rozbrojony wbudowane służy do niszczenia tablic. rozbrojony Nazwa[indeks] niszczy tablicę
element w indeksie indeks. Ujemne indeksy do indeksowanych tablic są interpretowane jako
opisane powyżej. Należy zachować ostrożność, aby uniknąć niepożądanych skutków ubocznych spowodowanych przez nazwę ścieżki
ekspansja. rozbrojony Nazwa, Gdzie Nazwa jest tablicą, lub rozbrojony Nazwa[indeks], gdzie indeks
is * or @, usuwa całą tablicę.

Połączenia ogłosić, miejscowy, tylko czytać każdy z wbudowanych akceptuje a -a możliwość określenia indeksowanego
tablica i -A opcja, aby określić tablicę asocjacyjną. Jeśli dostępne są obie opcje, -A
ma pierwszeństwo. ten czytać wbudowany akceptuje a -a możliwość przypisania listy przeczytanych słów
ze standardowego wejścia do tablicy. ten zestaw i ogłosić wbudowane wyświetlają wartości tablicy w
sposób, który pozwala na ich ponowne wykorzystanie jako przydziałów.

EKSPANSJA


Rozszerzenie jest wykonywane w wierszu poleceń po podzieleniu go na słowa. Są
siedem rodzajów wykonywanych rozszerzeń: klamra ekspansja, tylda ekspansja, parametr i
zmienna ekspansja, komenda podstawienie, arytmetyka ekspansja, słowo rozsadzający w ułamku sekundy,
nazwa ścieżki ekspansja.

Kolejność rozwinięć to: rozwinięcie nawiasów klamrowych; rozwinięcie tyldy, parametr i zmienna
rozwijanie, rozwijanie arytmetyczne i podstawianie poleceń (wykonywane od lewej do prawej)
moda); dzielenie słów; i rozszerzenie ścieżki.

W systemach, które mogą to obsługiwać, dostępne jest dodatkowe rozszerzenie: wygląda tak
podstawienie. Odbywa się to w tym samym czasie, co tylda, parametr, zmienna i
rozwijanie arytmetyczne i podstawianie poleceń.

Tylko rozwijanie nawiasów, dzielenie na słowa i rozwijanie ścieżek może zmienić liczbę
słowa rozszerzenia; inne rozszerzenia rozwijają pojedyncze słowo do pojedynczego słowa. Jedyny
wyjątkami od tego są rozszerzenia „$@"I"${Nazwa[@]}" jak wyjaśniono powyżej (patrz
PARAMETRY).

Klamra Ekspansja
Klamra ekspansja to mechanizm, za pomocą którego można generować dowolne ciągi. Ten
mechanizm jest podobny do nazwa ścieżki ekspansja, ale wygenerowane nazwy plików nie muszą istnieć.
Wzory do poszerzenia nawiasów przybierają formę opcjonalnych preambuła, po którym następuje albo a
ciąg ciągów oddzielonych przecinkami lub wyrażenie sekwencji między parą nawiasów klamrowych,
po którym następuje opcjonalny postscriptum. Preambuła jest poprzedzona przed każdym zawartym ciągiem
w nawiasach klamrowych, a do każdego wynikowego ciągu dołączany jest dopisek, rozszerzając
od lewej do prawej.

Rozwinięcia zastrzałów mogą być zagnieżdżone. Wyniki każdego rozszerzonego ciągu nie są sortowane; lewo
zachowana jest odpowiednia kolejność. Na przykład{d, c, b}e rozwija się do „ade ace abe”.

Wyrażenie sekwencji przyjmuje postać {x..y[..przyrost]}, Gdzie x i y są albo liczbami całkowitymi, albo
pojedyncze znaki i przyrost, przyrost opcjonalny, jest liczbą całkowitą. Kiedy liczby całkowite są
podane, wyrażenie rozwija się do każdej liczby pomiędzy x i y, włącznie. Dostarczone
liczby całkowite mogą być poprzedzone 0 aby każdy termin miał taką samą szerokość. Kiedy albo x
or y zaczyna się od zera, powłoka próbuje wymusić, aby wszystkie wygenerowane terminy zawierały
taka sama liczba cyfr, w razie potrzeby dopełnianie zerami. Gdy podane są znaki,
wyrażenie rozszerza się na każdy znak leksykograficzny pomiędzy x i y, włącznie, przy użyciu
domyślne ustawienia regionalne C. Zwróć uwagę, że oba x i y musi być tego samego typu. Kiedy
dostarczany jest przyrost, jest używany jako różnica między każdym terminem. Domyślny
przyrost wynosi odpowiednio 1 lub -1.

Rozszerzenie nawiasów klamrowych jest wykonywane przed innymi rozszerzeniami i znakami specjalnymi do:
w wyniku zachowywane są inne rozszerzenia. Jest ściśle tekstowy. Bash nie
zastosować dowolną interpretację składniową do kontekstu rozwinięcia lub tekstu między
aparat ortodontyczny.

Poprawnie uformowane rozwinięcie nawiasów klamrowych musi zawierać nie cytowane nawiasy otwierające i zamykające oraz
co najmniej jeden niecytowany przecinek lub prawidłowe wyrażenie sekwencji. Wszelkie nieprawidłowo uformowane nawiasy klamrowe
ekspansja pozostaje bez zmian. A { or , może być cytowany z odwrotnym ukośnikiem, aby zapobiec jego istnieniu
uważana za część wyrażenia klamrowego. Aby uniknąć konfliktów z rozszerzaniem parametrów,
ciąg ${ nie jest uważany za kwalifikujący się do rozszerzenia nawiasów.

Ta konstrukcja jest zwykle używana jako skrót, gdy wspólnym przedrostkiem ciągów, które mają być
generowany jest dłuższy niż w powyższym przykładzie:

mkdir /usr/local/src/bash/{stary,nowy,odstęp,błędy}
or
korzeń chown /usr/{ucb/{ex,edit},lib/{ex?.?*,jak_ex}}

Rozszerzenie Brace wprowadza niewielką niezgodność z historycznymi wersjami sh. sh
nie traktuje otwierających lub zamykających nawiasów klamrowych specjalnie, gdy pojawiają się one jako część słowa, oraz
zachowuje je na wyjściu. Bash usuwa nawiasy klamrowe ze słów jako konsekwencję nawiasów klamrowych
ekspansja. Na przykład słowo wprowadzone do sh as plik{1,2} pojawia się identycznie w
wyjście. To samo słowo jest wyprowadzane jako file1 file2 po rozbudowie o bash. Jeśli surowe
kompatybilność z sh jest pożądane, zacznij bash z +B opcja lub wyłączenie rozszerzania nawiasów
z +B opcja do zestaw polecenie (patrz SHELL WBUDOWANE POLECENIA poniżej).

Tylda Ekspansja
Jeśli słowo zaczyna się od niecytowanego znaku tyldy (`~'), wszystkie znaki poprzedzające
uwzględniany jest pierwszy niecytowany ukośnik (lub wszystkie znaki, jeśli nie ma ukośnika niecytowanego)
a przedrostek tyldy. Jeśli żaden ze znaków w przedrostku tyldy nie jest cytowany, znaki
w przedrostku tyldy następujące po tyldzie są traktowane jako możliwe Zaloguj Się Nazwa. Jeśli to
login to pusty łańcuch, tylda jest zastępowana wartością parametru powłoki
HOME. Jeśli HOME nie jest ustawiony, katalog domowy użytkownika uruchamiającego powłokę jest zastępowany
zamiast. W przeciwnym razie prefiks tyldy zostanie zastąpiony katalogiem domowym powiązanym z
podaną nazwę logowania.

Jeśli przedrostkiem tyldy jest `~+', wartość zmiennej powłoki PWD zastępuje tyldę-
prefiks. Jeśli przedrostkiem tyldy jest `~-', wartość zmiennej powłoki STARODPWD, Jeśli to jest
zestaw, jest podstawiony. Jeśli znaki następujące po tyldzie w przedrostku tyldy składają się z
numer N, opcjonalnie poprzedzone znakiem `+' lub `-', prefiks tyldy jest zastępowany przez
odpowiedni element ze stosu katalogów, tak jak byłby wyświetlany przez dirs
builtin wywoływany z przedrostkiem tyldy jako argumentem. Jeśli znaki następujące po
tylda w przedrostku tyldy składa się z liczby bez poprzedzającego `+' lub `-', `+' to
przypuszczalny.

Jeśli nazwa logowania jest nieprawidłowa lub nie powiodło się rozwinięcie tyldy, słowo pozostaje niezmienione.

Każde przypisanie zmiennej jest sprawdzane pod kątem niecytowanych przedrostków tyldy bezpośrednio po a :
lub pierwszy =. W takich przypadkach wykonywana jest również ekspansja tyldy. W związku z tym można…
używaj nazw plików z tyldami w zadaniach do PATH, ŚCIEŻKA POCZTY, CDPATHi muszla
przypisuje rozwiniętą wartość.

Parametr Ekspansja
`$' znak wprowadza rozwinięcie parametrów, podstawianie poleceń lub arytmetykę
ekspansja. Nazwa parametru lub symbol do rozwinięcia może być ujęta w nawiasy klamrowe, które:
są opcjonalne, ale służą do ochrony zmiennej, która ma być natychmiast rozwinięta ze znaków
po nim, co może być interpretowane jako część nazwy.

Gdy używane są nawiasy klamrowe, pasującym nawiasem klamrowym jest pierwszy `}' nie uciekł przez
ukośnik odwrotny lub w ciągu znaków w cudzysłowie, a nie w osadzonym rozwinięciu arytmetycznym,
podstawianie poleceń lub rozszerzanie parametrów.

${parametr}
Wartość parametr jest zastąpiony. Aparaty są wymagane, gdy parametr jest
parametr pozycyjny z więcej niż jedną cyfrą lub gdy parametr po którym następuje
znak, który nie powinien być interpretowany jako część jego nazwy. ten parametr jest
parametr powłoki jak opisano powyżej PARAMETRY) lub odwołanie do tablicy (Tablice).

Jeśli pierwszy znak parametr jest wykrzyknikiem (!), wprowadza poziom
zmienna pośrednia. Bash wykorzystuje wartość zmiennej utworzonej z pozostałych
parametr jako nazwa zmiennej; ta zmienna jest następnie rozwijana i ta wartość to
używany w pozostałej części podstawienia, a nie wartość parametr samo. To jest
znany jako pośredni ekspansja. Wyjątkiem są rozszerzenia ${!prefiks*} i
${!Nazwa[@]} Opisane poniżej. Wykrzyknik musi znajdować się natychmiast po lewej klamrze
w celu wprowadzenia pośredniego.

W każdym z poniższych przypadków słowo podlega ekspansji tyldy, ekspansji parametrów,
podstawianie poleceń i rozwijanie arytmetyczne.

Gdy nie wykonujesz rozwijania podciągów, korzystając z formularzy udokumentowanych poniżej (np. :-), bash
testuje parametr, który jest nieustawiony lub null. Pominięcie okrężnicy powoduje tylko test
dla parametru, który nie jest ustawiony.

${parametr:-słowo}
Zastosowanie Domyślnie Wartości. Jeśli parametr jest nieustawiona lub zerowa, rozwinięcie słowo is
zastąpiony. W przeciwnym razie wartość parametr jest podstawiony.
${parametr:=słowo}
Przydzielać Domyślnie Wartości. Jeśli parametr jest nieustawiona lub zerowa, rozwinięcie słowo is
przypisane do parametr. Wartość parametr jest następnie zastępowany. Pozycyjny
parametry i parametry specjalne nie mogą być przypisywane w ten sposób.
${parametr:?słowo}
Wyświetlacz Błąd if Null or Nieoprawny. Jeśli parametr jest zerowa lub nieustawiona, rozwinięcie
słowo (lub wiadomość w tej sprawie, jeśli słowo nie jest obecny) jest napisany do
błąd standardowy i powłoka, jeśli nie jest interaktywna, kończy pracę. W przeciwnym razie
wartość parametr jest podstawiony.
${parametr:+słowo}
Zastosowanie Alternatywny wartość. Jeśli parametr jest pusty lub nieustawiony, nic nie jest zastępowane,
w przeciwnym razie ekspansja słowo jest podstawiony.
${parametr:offset}
${parametr:offset:długość}
Podciąg Ekspansja. Rozwija się do długość znaki o wartości parametr
zaczynając od znaku określonego przez offset. Jeśli parametr is @, tablica indeksowana
z dopiskiem przez @ or *lub nazwę tablicy asocjacyjnej, wyniki różnią się jako
Opisane poniżej. Gdyby długość jest pomijany, rozwija się do podłańcucha o wartości
parametr zaczynając od znaku określonego przez offset i trwające do końca
wartość. długość i offset są wyrażeniami arytmetycznymi (patrz ARYTMETYKA OCENA
poniżej).

If offset zwraca liczbę mniejszą od zera, wartość jest używana jako przesunięcie w
znaki od końca wartości parametr. Jeśli długość ocenia do liczby
mniejsze od zera, jest interpretowane jako przesunięcie w znakach od końca
wartość parametr zamiast liczby znaków, a rozszerzeniem jest
znaki pomiędzy offset i ten wynik. Zauważ, że ujemne przesunięcie musi być
oddzielone od okrężnicy co najmniej jedną spacją, aby uniknąć pomylenia z :-
ekspansja.

If parametr is @, wynik to długość parametry pozycyjne zaczynające się od offset.
Negatyw offset jest brany w stosunku do jednego większego niż największe pozycyjne
parametr, więc przesunięcie o wartości -1 daje w wyniku ostatni parametr pozycyjny. To jest
błąd rozszerzenia, jeśli długość ocenia do liczby mniejszej od zera.

If parametr jest indeksowaną nazwą tablicy z indeksem dolnym @ lub *, wynikiem jest
długość elementy tablicy zaczynające się od ${parametr[offset]}. Negatyw offset
jest przyjmowany względem jednego większego niż maksymalny indeks określonej tablicy. Ono
jest błędem rozwinięcia, jeśli długość ocenia do liczby mniejszej od zera.

Rozszerzanie podłańcuchów zastosowane do tablicy asocjacyjnej daje niezdefiniowane wyniki.

Indeksowanie podciągów jest od zera, chyba że są używane parametry pozycyjne, in
w takim przypadku indeksowanie domyślnie rozpoczyna się od 1. Gdyby offset wynosi 0, a pozycyjny
stosowane są parametry, $0 jest poprzedzona listą.

${!prefiks*}
${!prefiks@}
nazwy dopasowywanie prefiks. Rozwija się do nazw zmiennych, których nazwy zaczynają się od
prefiks, oddzielone pierwszym znakiem IFS zmienna specjalna. Kiedy @ is
używane, a rozwinięcie pojawia się w podwójnych cudzysłowach, każda nazwa zmiennej rozwija się do
osobne słowo.

${!Nazwa[@]}
${!Nazwa[*]}
Lista of szyk Klawisze. Jeśli Nazwa jest zmienną tablicową, rozwija się do listy tablica
indeksy (klawisze) przypisane w Nazwa. Jeśli Nazwa nie jest tablicą, rozwija się do 0, jeśli Nazwa is
ustaw i null w przeciwnym razie. Kiedy @ jest używany, a rozszerzenie pojawia się w ramach double
cudzysłowy, każdy klawisz rozwija się do osobnego słowa.

${#parametr}
Parametr długość. Długość w znakach wartości parametr is
zastąpiony. Gdyby parametr is * or @, podstawiona wartość to liczba
parametry pozycyjne. Gdyby parametr to nazwa tablicy z indeksem dolnym przez * or @The
podstawiona wartość to liczba elementów w tablicy. Gdyby parametr jest
indeksowana nazwa tablicy indeksowana liczbą ujemną, ta liczba jest interpretowana jako
w stosunku do jednego większego niż maksymalny indeks parametr, więc indeksy ujemne
liczyć wstecz od końca tablicy, a indeks -1 odwołuje się do ostatniego
elementem.

${parametr#słowo}
${parametr##słowo}
Usunąć dopasowywanie prefiks wzorzec, słowo jest rozszerzany, aby utworzyć wzór, tak jak
w rozwijaniu ścieżki. Jeśli wzorzec pasuje do początku wartości
parametr, to wynikiem rozwinięcia jest rozwinięta wartość parametr w
najkrótszy pasujący wzorzec (``#'' przypadek) lub najdłuższy pasujący wzorzec (
``##'' przypadek) usunięte. Gdyby parametr is @ or *, operacja usuwania wzoru to
stosowane do każdego parametru pozycyjnego po kolei, a rozwinięcie jest wypadkową
lista. Gdyby parametr jest zmienną tablicową z indeksem dolnym @ or *, wzór
operacja usuwania jest stosowana do każdego członka tablicy po kolei, a rozszerzenie
to wynikowa lista.

${parametr%słowo}
${parametr%%słowo}
Usunąć dopasowywanie przyrostek wzorzec, słowo jest rozszerzany, aby utworzyć wzór, tak jak
w rozwijaniu ścieżki. Jeśli wzorzec pasuje do końcowej części rozwiniętego
wartość parametr, to wynikiem rozwinięcia jest rozwinięta wartość
parametr z najkrótszym pasującym wzorem (``%''przypadek) lub najdłuższy
pasujący wzorzec (``%%'' przypadek) usunięte. Gdyby parametr is @ or *, wzór
operacja usuwania jest stosowana do każdego parametru pozycyjnego po kolei, a
rozwinięciem jest lista wynikowa. Gdyby parametr jest zmienną tablicową z indeksem dolnym
w @ or *, operacja usuwania wzoru jest stosowana do każdego elementu tablicy
z kolei, a rozwinięciem jest lista wynikowa.

${parametr/wzorzec/ciąg}
Wzór podstawienie, wzorzec jest rozwijany, aby utworzyć wzór, tak jak w
rozwijanie ścieżki. Parametr jest rozbudowany i najdłuższy mecz wzorzec przed
jego wartość jest zastępowana przez ciąg. Jeśli wzorzec Zaczyna się z /, wszystkie mecze z
wzorzec są zastąpione przez ciąg. Zwykle zastępowany jest tylko pierwszy mecz. Gdyby
wzorzec Zaczyna się z #, musi pasować na początku rozwiniętej wartości
parametr. Jeśli wzorzec Zaczyna się z %, musi pasować na końcu rozwiniętego
wartość parametr. Jeśli ciąg jest puste, dopasowania z wzorzec są usuwane, a /
następujący wzorzec można pominąć. Gdyby parametr is @ or *, substytucja
operacja jest stosowana do każdego parametru pozycyjnego po kolei, a rozwinięcie to
lista wynikowa. Gdyby parametr jest zmienną tablicową z indeksem dolnym @ or *The
operacja podstawienia jest stosowana do każdego członka tablicy po kolei, a
rozwinięciem jest lista wynikowa.

${parametr^wzorzec}
${parametr^^wzorzec}
${parametr,wzorzec}
${parametr,,wzorzec}
Walizka modyfikacja. To rozszerzenie modyfikuje wielkość liter alfabetu w
parametr, wzorzec jest rozwijany, aby utworzyć wzorzec, tak jak w ścieżce
ekspansja. Każdy znak w rozszerzonej wartości parametr jest testowany przeciwko
wzorzec, a jeśli pasuje do wzorca, jego wielkość liter jest konwertowana. Wzór powinien
nie próbuj dopasować więcej niż jednego znaku. ten ^ operator konwertuje małe litery
pasujące litery wzorzec na wielkie; ten , operator konwertuje pasujące wielkie litery
litery na małe. ten ^^ i ,, rozszerzenia konwertują każdy dopasowany znak w
rozszerzona wartość; ten ^ i , rozszerzenia pasują i konwertują tylko pierwsze
znak w rozwiniętej wartości. Gdyby wzorzec jest pomijany, jest traktowany jak ?,
który pasuje do każdego znaku. Gdyby parametr is @ or *, modyfikacja przypadku
operacja jest stosowana do każdego parametru pozycyjnego po kolei, a rozwinięcie to
lista wynikowa. Gdyby parametr jest zmienną tablicową z indeksem dolnym @ or *The
operacja modyfikacji wielkości liter jest stosowana do każdego elementu tablicy po kolei, a
rozwinięciem jest lista wynikowa.

Command Podstawienie
Command podstawienie umożliwia wyjście polecenia w celu zastąpienia nazwy polecenia. Tam
są dwie formy:

$(komenda)
or
`komenda`

Bash wykonuje ekspansję wykonując komenda i zastąpienie podstawienia poleceń
ze standardowym wyjściem polecenia, z usuniętymi wszystkimi końcowymi znakami nowej linii. Osadzony
znaki nowej linii nie są usuwane, ale mogą zostać usunięte podczas dzielenia na słowa. Komenda
podstawienie $(kot filet) może być zastąpiony przez odpowiednik, ale szybciej $( filet).

Gdy używana jest forma podstawienia w starym stylu odwrotnego cudzysłowu, odwrotny ukośnik zachowuje swój dosłowny
znaczenie, chyba że następuje po $, `lub \. Pierwszy cytat wsteczny nie poprzedzony znakiem
odwrotny ukośnik kończy podstawianie komendy. Podczas korzystania z $(komenda) formularz, wszystkie
znaki w nawiasach składają się na polecenie; żadne nie są traktowane specjalnie.

Podstawienia poleceń mogą być zagnieżdżone. Aby zagnieździć podczas korzystania z formy z odwrotnym cudzysłowem, pomiń
wewnętrzne odwrotne cudzysłowy z odwrotnymi ukośnikami.

Jeśli podstawienie pojawia się w podwójnych cudzysłowach, dzieleniu słów i rozwijaniu ścieżek
nie są wykonywane na wynikach.

Arytmetyka Ekspansja
Rozszerzenie arytmetyczne pozwala na ocenę wyrażenia arytmetycznego i
podstawienie wyniku. Format rozwinięcia arytmetycznego to:

$((wyrażenie))

Stary format $[wyrażenie] jest przestarzałe i zostanie usunięte w nadchodzących wersjach
grzmotnąć.

Połączenia wyrażenie jest traktowany tak, jakby był w podwójnym cudzysłowie, ale w środku jest podwójny cudzysłów
nawiasy nie są traktowane specjalnie. Wszystkie tokeny w wyrażeniu podlegają parametrowi
oraz rozwijanie zmiennych, podstawianie poleceń i usuwanie cudzysłowów. Wynik jest traktowany jako
wyrażenie arytmetyczne do obliczenia. Rozszerzenia arytmetyczne mogą być zagnieżdżane.

Ocena jest przeprowadzana zgodnie z zasadami wymienionymi poniżej w ARYTMETYKA
OCENA. Jeśli wyrażenie jest nieważny, bash drukuje komunikat wskazujący na awarię i nie
występuje substytucja.

Przetwarzanie Podstawienie
Przetwarzanie podstawienie jest obsługiwany w systemach obsługujących nazwane potoki (FIFO) albo
/dev/fd metoda nazywania otwartych plików. Przybiera formę <(podstęp) or >(podstęp),
wygląda tak podstęp jest uruchamiany z wejściem lub wyjściem podłączonym do a FIFO lub jakiś plik w /dev/fd.
Nazwa tego pliku jest przekazywana jako argument do bieżącego polecenia jako wynik
ekspansja. Jeśli >(podstęp) używany jest formularz, zapis do pliku zapewni dane wejściowe dla podstęp.
Jeśli <(podstęp) używana jest forma, plik przekazany jako argument powinien zostać odczytany, aby uzyskać
wyjście z podstęp.

Jeśli to możliwe, podmiana procesu jest wykonywana jednocześnie z parametrem i
rozwijanie zmiennych, podstawianie poleceń i rozwijanie arytmetyczne.

słowo Dzielenie
Powłoka skanuje wyniki interpretacji parametrów, podstawiania poleceń i arytmetyki
rozwinięcie, które nie wystąpiło w cudzysłowie dla słowo rozsadzający w ułamku sekundy.

Powłoka traktuje każdy znak IFS jako ogranicznik i dzieli wyniki drugiego
Rozszerzenia na słowa przy użyciu tych znaków jako terminatorów pól. Gdyby IFS nie jest ustawione, lub
jego wartość jest dokładnie , domyślnie, a następnie sekwencje , ,
i na początku i na końcu wyników poprzednich rozszerzeń są
ignorowane i dowolna sekwencja IFS znaki nie na początku ani na końcu służą do delimitacji
słowa. Gdyby IFS ma wartość inną niż domyślna, to sekwencje spacji
znaków przestrzeń i Zakładka są ignorowane na początku i na końcu słowa, o ile
znak odstępu ma wartość IFS (na IFS znak odstępu). Dowolna postać
in IFS nie jest IFS spacja, wraz z dowolnymi sąsiednimi IFS białe znaki,
ogranicza pole. Sekwencja IFS białe znaki są również traktowane jako ograniczniki.
Jeśli wartość IFS ma wartość null, nie następuje dzielenie na słowa.

Wyraźne argumenty o wartości null ("" or '') są zachowywane. Niecytowane niejawne argumenty o wartości NULL,
wynikające z rozwinięcia parametrów, które nie mają wartości, są usuwane. Jeśli
parametr bez wartości jest rozwijany w podwójnych cudzysłowach, wynikiem jest pusty argument i jest
zachowane.

Zwróć uwagę, że jeśli nie nastąpi rozwinięcie, podział nie jest wykonywany.

Nazwa ścieżki Ekspansja
Po dzieleniu wyrazów, chyba że -f opcja została ustawiona, bash skanuje każde słowo w poszukiwaniu
znaków *, ?, [. Jeśli pojawi się jeden z tych znaków, to słowo jest uważane za
a wzorzeci zastąpione alfabetycznie posortowaną listą nazw plików pasujących do
wzór (patrz Wzór Dopasowywanie poniżej). Jeśli nie znaleziono pasujących nazw plików, a powłoka
opcja nullglob nie jest włączone, słowo pozostaje niezmienione. Jeśli nullglob Jest opcja
ustawiony i nie zostaną znalezione żadne dopasowania, słowo zostanie usunięte. Jeśli Failglob ustawiona opcja powłoki,
i nie znaleziono dopasowań, wypisywany jest komunikat o błędzie i polecenie nie jest wykonywane. Gdyby
opcja powłoki nocaseglob jest włączona, dopasowanie odbywa się bez względu na przypadek
znaków alfabetycznych. Zwróć uwagę, że używając wyrażeń zakresu, takich jak [az] (patrz poniżej),
litery drugiego przypadku mogą być dołączone, w zależności od ustawienia LC_COLLATE. Kiedy
wzorzec jest używany do rozwijania ścieżki, znak ``.'' na początku nazwy lub
bezpośrednio następujący po ukośniku musi być dopasowany jawnie, chyba że opcja powłoki kropka
jest ustawiony. Podczas dopasowywania nazwy ścieżki znak ukośnika musi być zawsze dopasowywany jawnie.
W innych przypadkach ``.'' znak nie jest traktowany specjalnie. Zobacz opis
zakupy poniżej pod SHELL WBUDOWANE POLECENIA dla opisu nocaseglob, nullglob,
Failglob, kropka opcje powłoki.

Połączenia GLOBIGNOR zmienna powłoki może być użyta do ograniczenia zestawu nazw plików pasujących do a
wzorzec. Jeśli GLOBIGNOR jest ustawiony, każda pasująca nazwa pliku, która pasuje również do jednego z
wzorce w GLOBIGNOR zostanie usunięty z listy dopasowań. Nazwy plików ``.'' i
``..'' są zawsze ignorowane, gdy GLOBIGNOR jest ustawiony, a nie pusty. Jednak ustawienie
GLOBIGNOR na wartość inną niż null skutkuje włączeniem kropka opcja powłoki, więc wszystko
inne nazwy plików zaczynające się od ``.'' będzie pasować. Aby uzyskać stare zachowanie polegające na ignorowaniu
nazwy plików zaczynające się od ``.'', robić ``.*'' jeden ze wzorów w GLOBIGNOR,
kropka opcja jest wyłączona, gdy GLOBIGNOR jest rozbrojony.

Wzór Dopasowywanie

Dowolny znak, który pojawia się we wzorcu, inny niż znaki specjalne wzorca
opisane poniżej, pasuje do siebie. Znak NUL może nie występować we wzorcu. A
odwrotny ukośnik zastępuje następujący znak; uciekający ukośnik odwrotny jest odrzucany, gdy
dopasowanie. Znaki wzorca specjalnego muszą być ujęte w cudzysłów, jeśli mają być dopasowane
dosłownie.

Znaki wzorca specjalnego mają następujące znaczenie:

* Dopasowuje dowolny ciąg, w tym ciąg pusty. Kiedy globgwiazda powłoka
opcja jest włączona i * jest używany w kontekście rozwijania nazw ścieżek, dwa
sąsiadujący *s użyty jako pojedynczy wzorzec dopasuje wszystkie pliki i zero lub więcej
katalogi i podkatalogi. Jeśli następuje a /, dwa sąsiednie *woli
dopasuj tylko katalogi i podkatalogi.
? Dopasowuje dowolny pojedynczy znak.
[...] Dopasowuje dowolny z załączonych znaków. Para znaków rozdzielonych
przez myślnik oznacza a zasięg wyrażenie; każda postać, która znajduje się pomiędzy
te dwa znaki, włącznie, przy użyciu bieżącego sortowania lokalizacji
sekwencja i zestaw znaków są zgodne. Jeśli pierwszy znak następujący
dotychczasowy [ jest ! lub ^ wtedy dopasowywany jest dowolny znak, który nie jest ujęty. ten
kolejność sortowania znaków w wyrażeniach zakresowych jest określona przez
aktualne ustawienia regionalne i wartości LC_COLLATE or LC_ALL zmienne powłoki,
jeśli ustawione. Aby uzyskać tradycyjną interpretację wyrażeń zakresowych,
gdzie [ogłoszenie] odpowiada [abcd], ustaw wartość LC_ALL zmienna powłoki
do Club włącz globalasciiranges opcja powłoki. A - może być dopasowany przez
włączając go jako pierwszy lub ostatni znak w zestawie. A ] może być dopasowany
dołączając go jako pierwszy znak w zestawie.

W ciągu [ i ], charakter Klasy można określić za pomocą składni
[:klasa:], Gdzie klasa jest jedną z następujących klas zdefiniowanych w POSIX
standard:
album alfa Ascii pusty ctrl cyfra wykres niższy punkt przestrzeń górny słowo
xcyfra
Klasa postaci pasuje do dowolnej postaci należącej do tej klasy. ten słowo
klasa znaków dopasowuje litery, cyfry i znak _.

W ciągu [ i ], równorzędność klasa można określić za pomocą składni
[=c=], który dopasowuje wszystkie znaki o tej samej wadze sortowania (jak
zdefiniowany przez bieżące ustawienia regionalne) jako znak c.

W ciągu [ i ], składnia [.symbol.] pasuje do symbolu sortowania symbol.

Jeśli extglob opcja powłoki jest włączona za pomocą zakupy wbudowany, kilka rozszerzonych wzorów
rozpoznawane są pasujące operatory. W poniższym opisie a lista wzorów jest listą
jednego lub więcej wzorów oddzielonych przez |. Wzory złożone mogą być tworzone przy użyciu jednego lub
więcej z poniższych podwzorców:

?(lista wzorów)
Dopasowuje zero lub jedno wystąpienie podanych wzorców
*(lista wzorów)
Dopasowuje zero lub więcej wystąpień podanych wzorców
+(lista wzorów)
Dopasowuje jedno lub więcej wystąpień podanych wzorców
@(lista wzorów)
Pasuje do jednego z podanych wzorów
!(lista wzorów)
Dopasowuje wszystko oprócz jednego z podanych wzorców

Cytuj Usuwanie
Po poprzednich rozszerzeniach wszystkie niecytowane wystąpienia znaków \, ', "
które nie wynikały z jednego z powyższych rozszerzeń są usuwane.

PRZEKIEROWANIE


Przed wykonaniem polecenia jego dane wejściowe i wyjściowe mogą być: przekierowany używając specjalnego
notacja interpretowana przez powłokę. Przekierowanie pozwala na używanie uchwytów plików poleceń
zduplikowane, otwarte, zamknięte, stworzone, aby odnosić się do różnych plików i mogą zmieniać te pliki
polecenie odczytuje i zapisuje do. Przekierowanie może być również użyte do modyfikacji uchwytów plików w
aktualne środowisko wykonywania powłoki. Następujące operatory przekierowania mogą poprzedzać
lub pojawiają się w dowolnym miejscu w obrębie prosty komenda lub może podążać za komenda. Przekierowania są
przetwarzane w kolejności, w jakiej się pojawiają, od lewej do prawej.

Każde przekierowanie, które może być poprzedzone numerem deskryptora pliku, może zamiast tego być poprzedzone
słowem w postaci {nazwa_zmiennej}. W tym przypadku dla każdego operatora przekierowania z wyjątkiem >&-
i <&-, powłoka przydzieli deskryptor pliku większy lub równy 10 i przypisze
jej nazwa_zmiennej. Jeśli >&- lub <&- jest poprzedzone {nazwa_zmiennej}, wartość nazwa_zmiennej definiuje
deskryptor pliku do zamknięcia.

W poniższych opisach, jeśli pominięto numer deskryptora pliku, a pierwszy
charakter operatora przekierowania to <, przekierowanie odnosi się do standardowego wejścia
(deskryptor pliku 0). Jeśli pierwszym znakiem operatora przekierowania jest >The
przekierowanie odnosi się do standardowego wyjścia (deskryptor pliku 1).

Słowo następujące po operatorze przekierowania w poniższych opisach, chyba że
zaznaczono inaczej, podlega rozwinięciu nawiasów klamrowych, rozwinięciu tyldy, parametrowi i zmiennej
rozwijanie, podstawianie poleceń, rozwijanie arytmetyczne, usuwanie cudzysłowów, rozwijanie ścieżek,
i dzielenie słów. Jeśli rozwija się do więcej niż jednego słowa, bash zgłasza błąd.

Zauważ, że kolejność przekierowań jest znacząca. Na przykład polecenie

ls > dilerlista 2>&1

kieruje zarówno standardowe wyjście, jak i błąd standardowy do pliku lista kier, podczas gdy polecenie

Jest 2>&1 > lista kier

kieruje tylko standardowe wyjście do pliku lista kier, ponieważ standardowy błąd był
zduplikowane ze standardowego wyjścia, zanim standardowe wyjście zostało przekierowane do lista kier.

Bash obsługuje kilka nazw plików specjalnie, gdy są one używane w przekierowaniach, jak opisano
w poniższej tabeli:

/dev/fd/fd
If fd jest prawidłową liczbą całkowitą, deskryptorem pliku fd jest zduplikowany.
/dev/stdin
Deskryptor pliku 0 jest zduplikowany.
/dev/stout
Deskryptor pliku 1 jest zduplikowany.
/dev/stderr
Deskryptor pliku 2 jest zduplikowany.
/dev/tcp/gospodarz/Port
If gospodarz jest prawidłową nazwą hosta lub adresem internetowym, oraz Port jest portem całkowitym
numer lub nazwa usługi, bash próbuje otworzyć odpowiednie gniazdo TCP.
/dev/udp/gospodarz/Port
If gospodarz jest prawidłową nazwą hosta lub adresem internetowym, oraz Port jest portem całkowitym
numer lub nazwa usługi, bash próbuje otworzyć odpowiednie gniazdo UDP.

Niepowodzenie otwarcia lub utworzenia pliku powoduje niepowodzenie przekierowania.

Przekierowania używające deskryptorów plików większych niż 9 powinny być używane ostrożnie, ponieważ mogą:
konflikt z deskryptorami plików, których powłoka używa wewnętrznie.

Zauważ, że exec wbudowane polecenie może sprawić, że przekierowania będą obowiązywać w bieżącej powłoce.

Przekierowanie Wkład
Przekierowanie wejścia powoduje powstanie pliku, którego nazwa wynika z rozwinięcia słowo być
otwarty do odczytu na deskryptorze pliku n, lub standardowe wejście (deskryptor pliku 0), jeśli n is
nieokreślony.

Ogólny format przekierowywania danych wejściowych to:

[n]<słowo

Przekierowanie Wydajność
Przekierowanie wyjścia powoduje powstanie pliku, którego nazwa wynika z rozwinięcia słowo być
otwarty do zapisu w deskryptorze pliku n, lub standardowe wyjście (deskryptor pliku 1), jeśli n
nie jest określony. Jeśli plik nie istnieje, jest tworzony; jeśli istnieje, to jest
obcięte do rozmiaru zerowego.

Ogólny format przekierowywania danych wyjściowych to:

[n]>słowo

Jeśli operatorem przekierowania jest >i nocnik opcja do zestaw wbudowany został
włączone, przekierowanie nie powiedzie się, jeśli plik, którego nazwa wynika z rozwinięcia
słowo istnieje i jest zwykłym plikiem. Jeśli operatorem przekierowania jest >|lub przekierowanie
operator to > oraz nocnik opcja do zestaw wbudowane polecenie nie jest włączone,
następuje próba przekierowania, nawet jeśli plik nazwany przez słowo istnieje.

Dołączanie Przekierowany Wydajność
Przekierowanie wyjścia w ten sposób powoduje, że plik, którego nazwa wynika z
ekspansja słowo do otwarcia w celu dołączenia do deskryptora pliku nlub standardowe wyjście
(deskryptor pliku 1), jeśli n nie jest określony. Jeśli plik nie istnieje, jest tworzony.

Ogólny format dołączania danych wyjściowych to:

[n]>>słowo

Przekierowanie Standard Wydajność i Standard Błąd
Ta konstrukcja umożliwia zarówno standardowe wyjście (deskryptor pliku 1), jak i standardowy błąd
wyjście (deskryptor pliku 2) do przekierowania do pliku, którego nazwa jest rozwinięciem
słowo.

Istnieją dwa formaty przekierowywania standardowego wyjścia i standardowego błędu:

&>słowo
i
>&słowo

Z tych dwóch form preferowana jest pierwsza. Jest to semantycznie równoważne

>słowo 2>&1

Korzystając z drugiej formy, słowo nie może rozwinąć się do liczby lub -. Jeśli tak, inne
zastosowanie mają operatory przekierowania (patrz Duplikowanie filet Deskryptory poniżej) dla zgodności
powody.

Dołączanie Standard Wydajność i Standard Błąd
Ta konstrukcja umożliwia zarówno standardowe wyjście (deskryptor pliku 1), jak i standardowy błąd
wyjście (deskryptor pliku 2) do dołączenia do pliku, którego nazwa jest rozwinięciem słowo.

Format dołączania standardowego wyjścia i standardowego błędu to:

&>>słowo

Jest to semantycznie równoważne

>>słowo 2>&1

(Patrz Duplikowanie filet Deskryptory poniżej).

Tutaj dokumenty
Ten typ przekierowania instruuje powłokę, aby odczytała dane wejściowe z bieżącego źródła do momentu a
linia zawierająca tylko ogranicznik (bez końcowych spacji) jest widoczny. Wszystkie wiersze przeczytane
do tego momentu są następnie używane jako standardowe wejście dla polecenia.

Format dokumentów tutaj to:

<<[-]słowo
tutaj-dokument
ogranicznik

Brak interpretacji parametrów i zmiennych, podstawienia poleceń, interpretacji arytmetycznej lub
rozwijanie ścieżki jest wykonywane w dniu słowo. Jeśli jakiekolwiek znaki w słowo są cytowane,
ogranicznik jest wynikiem usunięcia cytatu w dniu słowo, a wiersze w niniejszym dokumencie to
nie rozwinięty. Gdyby słowo nie jest cytowany, wszystkie wiersze niniejszego dokumentu podlegają
interpretacja parametrów, podstawianie poleceń i interpretacja arytmetyczna, znak
sekwencja \ jest ignorowany i \ musi być używany do cytowania znaków \, $, `.

Jeśli operatorem przekierowania jest <<-, wszystkie wiodące znaki tabulacji są usuwane z
wiersze wejściowe i wiersz zawierający ogranicznik. Pozwala to na tworzenie dokumentów tutaj w powłoce
skrypty, które mają być wcięte w naturalny sposób.

Tutaj Smyczki
Wariant tutaj dokumentów, format to:

<<słowo

Połączenia słowo podlega rozwinięciu nawiasów klamrowych, rozwinięciu tyldy, rozwinięciu parametrów i zmiennych,
podstawianie poleceń, rozwijanie arytmetyczne i usuwanie cudzysłowów. Rozszerzenie nazwy ścieżki i
dzielenie słów nie jest wykonywane. Wynik jest dostarczany jako pojedynczy ciąg do
polecenie na swoim standardowym wejściu.

Duplikowanie filet Deskryptory
Operator przekierowania

[n]<&słowo

służy do powielania deskryptorów plików wejściowych. Gdyby słowo rozwija się do jednej lub więcej cyfr,
deskryptor pliku oznaczony przez n ma być kopią tego deskryptora pliku. Jeśli cyfry
in słowo nie określaj deskryptora pliku otwartego do wprowadzenia, wystąpi błąd przekierowania. Gdyby
słowo ocenia na -, deskryptor pliku n zamknięte. Gdyby n nie jest określony, standard
używane jest wejście (deskryptor pliku 0).

Operator

[n]>&słowo

jest używany podobnie do duplikowania deskryptorów plików wyjściowych. Gdyby n nie jest określony,
używane jest standardowe wyjście (deskryptor pliku 1). Jeśli cyfry w słowo nie określaj pliku
deskryptor otwarty dla wyjścia, wystąpił błąd przekierowania. Gdyby słowo ocenia na -, plik
deskryptor n zamknięte. W szczególnym przypadku, jeśli n jest pominięty i słowo nie rozszerza się do
jedna lub więcej cyfr lub -, standardowe wyjście i błąd standardowy są przekierowywane jako
opisane wcześniej.

Przeniesienie filet Deskryptory
Operator przekierowania

[n]<&cyfra-

przenosi deskryptor pliku cyfra do deskryptora pliku nlub standardowe wejście (plik
deskryptor 0) jeśli n nie jest określony. cyfra jest zamykany po zduplikowaniu do n.

Podobnie operator przekierowania

[n]>&cyfra-

przenosi deskryptor pliku cyfra do deskryptora pliku nlub standardowe wyjście (plik
deskryptor 1) jeśli n nie jest określony.

Otwarcie filet Deskryptory dla Czytający i Pisanie
Operator przekierowania

[n]<>słowo

powoduje plik, którego nazwa jest rozwinięciem słowo do otwarcia zarówno do czytania, jak i
pisanie na deskryptorze pliku n, lub na deskryptorze pliku 0, jeśli n nie jest określony. Jeśli plik
nie istnieje, jest tworzony.

SKRÓTY


Pseudonimy zezwól na zastąpienie słowa napisem, gdy jest używany jako pierwsze słowo a
proste polecenie. Powłoka przechowuje listę aliasów, które można ustawiać i usuwać za pomocą
alias i alias polecenia wbudowane (zobacz SHELL WBUDOWANE POLECENIA poniżej). Pierwsze słowo
każde proste polecenie, jeśli nie jest cytowane, jest sprawdzane, aby zobaczyć, czy ma alias. Jeśli tak, to słowo
zostaje zastąpiony tekstem aliasu. Postaci /, $, `, = i dowolna powłoka
metaznaki lub cytujące znaki wymienione powyżej mogą nie występować w aliasie. ten
tekst zastępczy może zawierać dowolne prawidłowe dane wejściowe powłoki, w tym metaznaki powłoki. ten
pierwsze słowo tekstu zastępczego jest sprawdzane pod kątem aliasów, ale słowo identyczne z
rozwijany alias nie jest rozwijany po raz drugi. Oznacza to, że można aliasować ls
do ls -Fna przykład i bash nie próbuje rekursywnie rozszerzać tekstu zastępczego.
Jeśli ostatnim znakiem wartości aliasu jest a pusty, potem następne słowo polecenia
alias jest również sprawdzany pod kątem rozwinięcia aliasu.

Aliasy są tworzone i wyświetlane z alias polecenie i usunięte za pomocą alias
dowództwo.

Nie ma mechanizmu używania argumentów w tekście zastępczym. Jeśli argumenty są
potrzebne, należy użyć funkcji powłoki (zobacz FUNKCJE poniżej).

Aliasy nie są rozwijane, gdy powłoka nie jest interaktywna, chyba że rozwiń_aliasy
opcja powłoki jest ustawiana za pomocą zakupy (patrz opis zakupy dla SHELL WBUDOWANE POLECENIA
poniżej).

Zasady dotyczące definicji i używania aliasów są nieco mylące. Bash
zawsze czyta co najmniej jedną pełną linię danych wejściowych przed wykonaniem dowolnego polecenia on
ta linia. Aliasy są interpretowane, gdy polecenie jest odczytywane, a nie wykonywane.
Dlatego definicja aliasu pojawiająca się w tym samym wierszu co inne polecenie nie wymaga
efekt aż do odczytania następnego wiersza danych wejściowych. Polecenia następujące po definicji aliasu
w tej linii nie ma wpływu nowy alias. To zachowanie jest również problemem, gdy
wykonywane są funkcje. Aliasy są rozwijane, gdy odczytywana jest definicja funkcji, a nie wtedy, gdy
funkcja jest wykonywana, ponieważ sama definicja funkcji jest poleceniem złożonym. Jak
w konsekwencji aliasy zdefiniowane w funkcji są dostępne dopiero po tej funkcji
jest wykonywany. Aby być bezpiecznym, zawsze umieszczaj definicje aliasów w oddzielnym wierszu i nie używaj
alias w poleceniach złożonych.

W prawie każdym celu aliasy są zastępowane przez funkcje powłoki.

FUNKCJE


Funkcja powłoki, zdefiniowana jak opisano powyżej w SHELL GRAMATYKA, przechowuje serię
polecenia do późniejszego wykonania. Gdy nazwa funkcji powłoki jest używana jako prosta
nazwa polecenia, wykonywana jest lista poleceń skojarzonych z tą nazwą funkcji.
Funkcje są wykonywane w kontekście bieżącej powłoki; nie jest tworzony nowy proces
zinterpretuj je (porównaj to z wykonaniem skryptu powłoki). Gdy funkcja jest
wykonane, argumenty funkcji stają się parametrami pozycyjnymi podczas jej
wykonanie. Specjalny parametr # jest aktualizowany w celu odzwierciedlenia zmiany. Parametr specjalny 0
pozostaje bez zmian. Pierwszy element NAZWA FUNKCJI zmienna jest ustawiona na nazwę
funkcja podczas wykonywania funkcji.

Wszystkie inne aspekty środowiska wykonawczego powłoki są identyczne między funkcją a
jego rozmówca z następującymi wyjątkami: the DEBUG i POWRÓT pułapki (patrz opis
pułapka wbudowany pod SHELL WBUDOWANE POLECENIA poniżej) nie są dziedziczone, chyba że funkcja ma
otrzymał wyśledzić atrybut (patrz opis ogłosić wbudowany poniżej) lub
-o funkcja opcja powłoki została włączona z zestaw wbudowane (w takim przypadku wszystkie
funkcje dziedziczą DEBUG i POWRÓT pułapki), a ERR pułapka nie jest dziedziczona, chyba że
dotychczasowy -o błąd opcja powłoki została włączona.

Zmienne lokalne funkcji mogą być deklarowane za pomocą miejscowy wbudowane polecenie.
Zwykle zmienne i ich wartości są współdzielone przez funkcję i jej wywołującego.

Połączenia NAJZABAWNIEJSZE zmienna, jeśli jest ustawiona na wartość liczbową większą niż 0, definiuje maksimum
poziom zagnieżdżenia funkcji. Wywołania funkcji, które przekraczają limit, powodują cały
polecenie przerwania.

Jeśli wbudowane polecenie powrót jest wykonywana w funkcji, funkcja kończy się i
wykonanie jest wznawiane z następnym poleceniem po wywołaniu funkcji. Dowolna komenda skojarzona
z POWRÓT trap jest wykonywany przed wznowieniem wykonywania. Po zakończeniu funkcji,
wartości parametrów pozycyjnych i parametru specjalnego # zostają przywrócone do wartości
mieli przed wykonaniem funkcji.

Nazwy funkcji i definicje mogą być wymienione z -f opcja do ogłosić or skład
wbudowane polecenia. ten -F opcja do ogłosić or skład wyświetli tylko nazwy funkcji
(i opcjonalnie plik źródłowy i numer wiersza, jeśli extdebug opcja powłoki jest włączona).
Funkcje mogą być eksportowane, aby podpowłoki automatycznie miały je zdefiniowane za pomocą -f
opcja do eksport wbudowany. Definicję funkcji można usunąć za pomocą -f opcja do
dotychczasowy rozbrojony wbudowany. Zauważ, że funkcje powłoki i zmienne o tej samej nazwie mogą spowodować
w wielu identycznie nazwanych wpisach w środowisku przekazanych do dzieci powłoki.
Należy zachować ostrożność w przypadkach, w których może to spowodować problem.

Funkcje mogą być rekurencyjne. ten NAJZABAWNIEJSZE zmienna może być użyta do ograniczenia głębokości
stos wywołań funkcji i ogranicz liczbę wywołań funkcji. Domyślnie bez limitu
jest nakładana na liczbę wywołań rekurencyjnych.

ARYTMETYKA OCENA


Powłoka umożliwia obliczenie wyrażeń arytmetycznych w pewnych okolicznościach (patrz
dotychczasowy niech i ogłosić wbudowane polecenia i Arytmetyka Ekspansja). Ocena odbywa się w
liczby całkowite o stałej szerokości bez sprawdzania przepełnienia, chociaż dzielenie przez 0 jest przechwytywane i
oflagowane jako błąd. Operatory i ich pierwszeństwo, asocjatywność i wartości to
tak samo jak w języku C. Poniższa lista operatorów jest pogrupowana w poziomy
operatory o równym pierwszeństwie. Poziomy są wymienione w kolejności malejącego pierwszeństwa.

id++ id--
zmienna post-inkrementacja i post-dekrementacja
++id --id
zmienna pre-inkrementacja i pre-dekrementacja
- + jednoargumentowy minus i plus
! ~ negacja logiczna i bitowa
** potęgowanie
* / % mnożenie, dzielenie, reszta
+ - dodawanie odejmowanie
<< >> Przesunięcia bitowe w lewo i w prawo
<= >= < >
porównanie
== != równość i nierówność
& bitowe AND
^ bitowe wyłączne OR
| bitowe OR
&& logiczne ORAZ
|| logiczne OR
expr?expr:expr
operator warunkowy
= *= /= %= += -= << = >> = &= ^= |=
cesja
wyr1 , wyr2
przecinek

Zmienne powłoki są dozwolone jako operandy; rozszerzenie parametrów jest wykonywane przed
wyrażenie jest oceniane. W wyrażeniu do zmiennych powłoki można również odwoływać się przez
nazwa bez użycia składni rozszerzania parametrów. Zmienna powłoki, która jest null lub nieustawiona
zwraca 0, gdy odwołuje się do nazwy bez użycia składni rozwijania parametrów. ten
wartość zmiennej jest oceniana jako wyrażenie arytmetyczne, gdy jest przywoływane, lub
gdy zmienna, której nadano liczba całkowita atrybut przy użyciu ogłosić -i jest przypisany
wartość. Wartość null jest równa 0. Zmienna powłoki nie musi mieć swojego liczba całkowita atrybut
włączone do użycia w wyrażeniu.

Stałe z początkowym 0 są interpretowane jako liczby ósemkowe. Wiodący 0x lub 0X oznacza
szesnastkowy. W przeciwnym razie liczby przyjmują postać [baza#]n, gdzie opcjonalne baza jest
liczba dziesiętna od 2 do 64 reprezentująca podstawę arytmetyczną, oraz n to liczba w
ta baza. Gdyby baza# jest pominięty, stosuje się podstawę 10. Podczas określania n, cyfry
większe< niż 9 są reprezentowane przez małe litery, wielkie litery, @ i _,
w tej kolejności. Jeśli baza jest mniejsze lub równe 36, małe i duże litery mogą
być używane zamiennie do przedstawiania liczb od 10 do 35.

Operatory są oceniane w kolejności pierwszeństwa. Wyrażenia podrzędne w nawiasach to
oceniane jako pierwsze i może unieważnić powyższe zasady pierwszeństwa.

WARUNKOWY WYRAŻENIA


Wyrażenia warunkowe są używane przez [[ polecenie złożone i test i [ wbudowany
polecenia do testowania atrybutów plików i wykonywania porównań ciągów i arytmetycznych.
Wyrażenia są tworzone z następujących liczb podstawowych jednoargumentowych lub binarnych. Jeśli w ogóle filet argument
do jednej z prawyborów ma formę /dev/fd/n, a następnie deskryptor pliku n sprawdzone. Jeśli
dotychczasowy filet argument do jednej z prawyborów jest jednym z /dev/stdin, /dev/stoutlub
/dev/stderr, deskryptor pliku 0, 1 lub 2 jest zaznaczony.

O ile nie określono inaczej, podstawowe, które działają na plikach, podążają za dowiązaniami symbolicznymi i
działają na miejscu docelowym łącza, a nie na samym łączu.

Kiedy jest używany z [[The < i > operatory sortują leksykograficznie przy użyciu bieżących ustawień regionalnych.
Połączenia test sortuje polecenia przy użyciu porządkowania ASCII.

-a filet
Prawda, jeśli filet istnieje.
-b filet
Prawda, jeśli filet istnieje i jest specjalnym plikiem blokowym.
-c filet
Prawda, jeśli filet istnieje i jest specjalnym plikiem znakowym.
-d filet
Prawda, jeśli filet istnieje i jest katalogiem.
-e filet
Prawda, jeśli filet istnieje.
-f filet
Prawda, jeśli filet istnieje i jest zwykłym plikiem.
-g filet
Prawda, jeśli filet istnieje i jest set-group-id.
-h filet
Prawda, jeśli filet istnieje i jest dowiązaniem symbolicznym.
-k filet
Prawda, jeśli filet istnieje, a jego bit „lepki” jest ustawiony.
-p filet
Prawda, jeśli filet istnieje i jest nazwanym potoku (FIFO).
-r filet
Prawda, jeśli filet istnieje i jest czytelny.
-s filet
Prawda, jeśli filet istnieje i ma rozmiar większy niż zero.
-t fd Prawda, jeśli deskryptor pliku fd jest otwarty i odnosi się do terminala.
-u filet
Prawda, jeśli filet istnieje, a jego bit set-user-id jest ustawiony.
-w filet
Prawda, jeśli filet istnieje i jest zapisywalny.
-x filet
Prawda, jeśli filet istnieje i jest wykonywalny.
-G filet
Prawda, jeśli filet istnieje i należy do efektywnego identyfikatora grupy.
-L filet
Prawda, jeśli filet istnieje i jest dowiązaniem symbolicznym.
-N filet
Prawda, jeśli filet istnieje i został zmodyfikowany od czasu ostatniego odczytu.
-O filet
Prawda, jeśli filet istnieje i należy do efektywnego identyfikatora użytkownika.
-S filet
Prawda, jeśli filet istnieje i jest gniazdem.
file1 -jeśli file2
Prawda, jeśli file1 i file2 odnoszą się do tego samego urządzenia i numerów i-węzłów.
file1 -nt file2
Prawda, jeśli file1 jest nowszy (według daty modyfikacji) niż file2, albo jeśli file1
istnieje i file2 nie.
file1 -ot file2
Prawda, jeśli file1 jest starszy niż file2, albo jeśli file2 istnieje i file1 nie.
-o nazwa_opcji
Prawda, jeśli opcja powłoki nazwa_opcji jest włączony. Zobacz listę opcji pod
opis -o opcja do zestaw wbudowany poniżej.
-v nazwa_zmiennej
Prawda, jeśli zmienna powłoki nazwa_zmiennej jest ustawiony (przypisano mu wartość).
-R nazwa_zmiennej
Prawda, jeśli zmienna powłoki nazwa_zmiennej jest ustawiony i jest odwołaniem do nazwy.
-z ciąg
Prawda, jeśli długość ciąg wynosi zero.
ciąg
-n ciąg
Prawda, jeśli długość ciąg jest niezerowe.

string1 == string2
string1 = string2
Prawda, jeśli ciągi są równe. = powinien być używany z test polecenie dla POSIX
zgodność. W przypadku użycia z [[ polecenie, wykonuje dopasowywanie wzorców jako
opisane powyżej (Mieszanka Polecenia).

string1 != string2
Prawda, jeśli ciągi nie są równe.

string1 < string2
Prawda, jeśli string1 sortuje przed string2 leksykograficznie.

string1 > string2
Prawda, jeśli string1 sortuje po string2 leksykograficznie.

argument1 OP argument2
OP Jest to jeden z -równe, -ne, -lt, Im, -GTlub -dawać. Te arytmetyczne operatory binarne
zwróć prawdę, jeśli argument1 jest równy, nie równy, mniejszy niż, mniejszy lub równy,
większy lub większy lub równy argument2, Odpowiednio. arg1 i argument2 może być
dodatnie lub ujemne liczby całkowite.

PROSTY COMMAND EKSPANSJA


Gdy wykonywane jest proste polecenie, powłoka wykonuje następujące rozwinięcia,
zadania i przekierowania, od lewej do prawej.

1. Słowa, które parser oznaczył jako przypisania zmiennych (poprzedzające
nazwa polecenia) i przekierowania są zapisywane do późniejszego przetwarzania.

2. Rozwijane są słowa, które nie są przypisaniami zmiennych ani przekierowaniami. Jeśli w ogóle
słowa pozostają po rozwinięciu, pierwsze słowo jest uważane za nazwę polecenia
a pozostałe słowa to argumenty.

3. Przekierowania są wykonywane zgodnie z opisem powyżej w PRZEKIEROWANIE.

4. Tekst po = w każdym przyporządkowaniu zmiennej podlega ekspansji tyldy,
rozwijanie parametrów, podstawianie poleceń, rozwijanie arytmetyczne i usuwanie cudzysłowów
przed przypisaniem do zmiennej.

Jeśli żadna nazwa polecenia nie wyniknie, przypisania zmiennych wpływają na bieżące środowisko powłoki.
W przeciwnym razie zmienne są dodawane do środowiska wykonywanego polecenia i nie
wpływają na bieżące środowisko powłoki. Jeśli którekolwiek z przypisań próbuje przypisać a
wartość do zmiennej tylko do odczytu, pojawia się błąd, a polecenie kończy się z wartością niezerową
stan.

Jeśli żadna nazwa polecenia nie wyniknie, przekierowania są wykonywane, ale nie wpływają na bieżącą
środowisko powłoki. Błąd przekierowania powoduje zakończenie polecenia z niezerowym statusem.

Jeśli po rozwinięciu pozostała nazwa polecenia, wykonanie przebiega w sposób opisany poniżej.
W przeciwnym razie polecenie kończy działanie. Jeśli jedno z rozszerzeń zawierało podstawienie polecenia,
kodem wyjścia polecenia jest kod wyjścia ostatniego podstawienia polecenia
wykonywane. Jeśli nie było podstawień poleceń, polecenie kończy pracę ze statusem
zero.

COMMAND WYKONANIE


Po podzieleniu polecenia na słowa, jeśli wynikiem jest proste polecenie i
opcjonalna lista argumentów, podejmowane są następujące akcje.

Jeśli nazwa polecenia nie zawiera ukośników, powłoka próbuje ją zlokalizować. Jeśli istnieje
funkcja powłoki o tej nazwie, ta funkcja jest wywoływana jak opisano powyżej w FUNKCJE.
Jeśli nazwa nie pasuje do funkcji, powłoka szuka jej na liście powłok
wbudowane. Jeśli zostanie znalezione dopasowanie, wywoływane jest to polecenie wbudowane.

Jeśli nazwa nie jest ani funkcją powłoki, ani elementem wbudowanym i nie zawiera ukośników, bash
przeszukuje każdy element PATH dla katalogu zawierającego plik wykonywalny przez to
nazwa. Bash używa tablicy haszującej do zapamiętania pełnych ścieżek plików wykonywalnych (zobacz haszysz
dla SHELL WBUDOWANE POLECENIA poniżej). Pełne przeszukiwanie katalogów w PATH is
wykonywane tylko wtedy, gdy polecenie nie znajduje się w tablicy mieszającej. Jeśli wyszukiwanie to
niepowodzenie, powłoka szuka zdefiniowanej funkcji powłoki o nazwie
polecenie_not_znalezionego_handle. Jeśli ta funkcja istnieje, jest wywoływana z oryginałem
polecenie i argumenty oryginalnego polecenia jako jego argumenty oraz wyjście funkcji
status staje się statusem wyjścia powłoki. Jeśli ta funkcja nie jest zdefiniowana, powłoka
drukuje komunikat o błędzie i zwraca kod zakończenia równy 127.

Jeśli wyszukiwanie się powiedzie lub jeśli nazwa polecenia zawiera jeden lub więcej ukośników,
powłoka wykonuje wymieniony program w oddzielnym środowisku wykonawczym. Argument 0 jest ustawiony
do podanej nazwy, a pozostałe argumenty polecenia są ustawione na argumenty
podane, jeśli w ogóle.

Jeśli to wykonanie się nie powiedzie, ponieważ plik nie jest w formacie wykonywalnym, a plik nie jest
katalog, zakłada się, że jest to a powłoka scenariusz, plik zawierający polecenia powłoki. A
podpowłoka jest spawnowana, aby ją wykonać. Ta podpowłoka samoczynnie się ponownie inicjuje, dzięki czemu efekt
to tak, jakby została wywołana nowa powłoka do obsługi skryptu, z wyjątkiem tego, że
lokalizacje poleceń zapamiętanych przez rodzica (zobacz haszysz poniżej pod SHELL WBUDOWANE
POLECENIA) są zatrzymywane przez dziecko.

Jeśli program jest plikiem zaczynającym się od #!, pozostała część pierwszego wiersza określa
interpreter programu. Powłoka wykonuje określony interpreter podczas działania
systemy, które same nie obsługują tego formatu wykonywalnego. Argumenty do
interpreter składa się z pojedynczego opcjonalnego argumentu następującego po nazwie interpretera na
pierwszy wiersz programu, następnie nazwa programu, a następnie polecenie
argumenty, jeśli takie istnieją.

COMMAND WYKONANIE ŚRODOWISKO


Powłoka ma egzekucja środowisko, który składa się z następujących elementów:

· otwierać pliki odziedziczone przez powłokę przy wywołaniu, zmodyfikowane przez przekierowania
dostarczone do exec wbudowany

· aktualny katalog roboczy ustawiony przez cd, pushdlub popd, lub odziedziczone przez
powłoka przy inwokacji

· maska ​​trybu tworzenia pliku ustawiona przez umaska lub odziedziczone po rodzicu powłoki

· obecne pułapki zastawione przez pułapka

· parametry powłoki, które są ustawiane przez przypisanie zmiennej lub za pomocą zestaw lub odziedziczone z
rodzic powłoki w środowisku

· funkcje powłoki zdefiniowane podczas wykonywania lub odziedziczone po rodzicu powłoki w
środowisko

· opcje włączone przy wywołaniu (domyślnie lub z argumentami wiersza poleceń) lub
by zestaw

· opcje włączone przez zakupy

· aliasy powłoki zdefiniowane za pomocą alias

· różne identyfikatory procesów, w tym te związane z zadaniami w tle, wartość $$i
wartość PPID

Gdy ma zostać wykonane proste polecenie inne niż funkcja wbudowana lub funkcja powłoki, jest to
wywoływane w oddzielnym środowisku wykonawczym, które składa się z następujących elementów. Chyba że
w przeciwnym razie wartości są dziedziczone z powłoki.

· otwarte pliki powłoki, plus wszelkie modyfikacje i dodatki określone przez
przekierowania do polecenia

· aktualny katalog roboczy

· maska ​​trybu tworzenia pliku

· zmienne powłoki i funkcje oznaczone do eksportu wraz ze zmiennymi wyeksportowanymi do
komenda przekazana w środowisku

· pułapki złapane przez powłokę są resetowane do wartości odziedziczonych z powłoki
rodzica, a pułapki ignorowane przez powłokę są ignorowane

Polecenie wywołane w tym oddzielnym środowisku nie może wpłynąć na wykonanie powłoki
środowisko.

Podstawianie poleceń, polecenia pogrupowane w nawiasy i polecenia asynchroniczne są
wywoływane w środowisku podpowłoki, które jest duplikatem środowiska powłoki, z wyjątkiem
że pułapki złapane przez powłokę są resetowane do wartości, które powłoka odziedziczyła po jej
rodzic przy wywołaniu. Wbudowane polecenia wywoływane jako część potoku są również
wykonywane w środowisku podpowłoki. Zmiany wprowadzone w środowisku podpowłoki nie mogą
wpływają na środowisko wykonawcze powłoki.

Podpowłoki tworzone w celu wykonania podstawień poleceń dziedziczą wartość -e opcja z
powłoka nadrzędna. Kiedy nie w posix tryb, bash czyści plik -e opcja w takich podpowłokach.

Jeśli po poleceniu występuje a & a kontrola zadań nie jest aktywna, domyślne standardowe wejście
ponieważ polecenie jest pustym plikiem / dev / null. W przeciwnym razie wywołane polecenie dziedziczy
deskryptory plików powłoki wywołującej zmodyfikowane przez przekierowania.

ŚRODOWISKO


Kiedy program jest wywoływany, otrzymuje tablicę ciągów o nazwie środowisko. Jest
Lista Nazwa-wartość pary, o formie Nazwa=wartość.

Powłoka zapewnia kilka sposobów manipulowania środowiskiem. Na inwokacji, powłoka
skanuje własne środowisko i automatycznie tworzy parametr dla każdej znalezionej nazwy
zaznaczając to za eksport do procesów potomnych. Wykonywane polecenia dziedziczą środowisko. ten
eksport i ogłosić -x polecenia umożliwiają dodawanie i usuwanie parametrów i funkcji
ze środowiska. Jeśli wartość parametru w środowisku zostanie zmodyfikowana, nowy
wartość staje się częścią środowiska, zastępując starą. Środowisko odziedziczone przez
każde wykonane polecenie składa się z początkowego środowiska powłoki, którego wartości mogą być
zmodyfikowane w powłoce, pomniejszone o wszelkie pary usunięte przez rozbrojony polecenie, plus wszelkie dodatki przez
dotychczasowy eksport i ogłosić -x Polecenia.

Środowisko dla każdego prosty komenda lub funkcja może być tymczasowo zwiększona przez
poprzedzając go przypisaniami parametrów, jak opisano powyżej w PARAMETRY, Te
instrukcje przypisania wpływają tylko na środowisko widziane przez to polecenie.

Jeśli -k opcja jest ustawiona (patrz zestaw wbudowane polecenie poniżej), a następnie cała kolekcja parametr
przypisania są umieszczane w środowisku dla polecenia, a nie tylko te, które poprzedzają
nazwa polecenia.

Kiedy bash wywołuje polecenie zewnętrzne, zmienna _ jest ustawiona na pełną nazwę pliku
polecenie i przekazane do tego polecenia w jego środowisku.

EXIT STATUS


Status wyjścia wykonanego polecenia to wartość zwrócona przez czekaj! wywołanie systemowe lub
równoważna funkcja. Statusy wyjścia mieszczą się jednak w zakresie od 0 do 255, jak wyjaśniono poniżej:
powłoka może specjalnie używać wartości powyżej 125. Statusy wyjścia z wbudowanych poleceń powłoki i
polecenia złożone są również ograniczone do tego zakresu. W pewnych okolicznościach powłoka
użyje specjalnych wartości do wskazania określonych trybów awarii.

Dla celów powłoki polecenie, które kończy działanie z zerowym kodem zakończenia, powiodło się. jakiś
kod wyjścia zero wskazuje na sukces. Niezerowy status wyjścia wskazuje na niepowodzenie. Kiedy
polecenie kończy się fatalnym sygnałem N, bash używa wartości 128+N jako status wyjścia.

Jeśli polecenie nie zostanie znalezione, proces potomny utworzony do jego wykonania zwraca stan
127. Jeśli polecenie zostanie znalezione, ale nie można go wykonać, status powrotu to 126.

Jeśli polecenie nie powiedzie się z powodu błędu podczas rozwijania lub przekierowania, kod zakończenia to
większe od zera.

Wbudowane polecenia powłoki zwracają stan 0 (prawdziwy) jeśli się powiedzie i niezerowe (fałszywy) gdyby
występuje błąd podczas ich wykonywania. Wszystkie wbudowane zwracają kod wyjścia 2, aby wskazać
nieprawidłowe użycie.

Bash samo zwraca kod zakończenia ostatniego wykonanego polecenia, chyba że wystąpił błąd składni
występuje, w którym to przypadku kończy się z wartością niezerową. Zobacz także wyjście wbudowane polecenie
poniżej.

SYGNAŁY


Kiedy bash jest interaktywny, przy braku pułapek ignoruje SIGTERM (aby zabić 0
nie zabija interaktywnej powłoki) oraz SIGINT jest złapany i przeładowany (tak, aby czekać
wbudowane jest przerywalne). We wszystkich przypadkach bash ignoruje WYJDŹ. Jeśli kontrola zadań nie działa
efekt, bash ignoruje PODPIS, SYGTOU, SIGTSTP.

Niewbudowane polecenia uruchamiane przez bash mieć procedury obsługi sygnałów ustawione na wartości dziedziczone przez
powłoka od swojego rodzica. Gdy kontrola zadań nie działa, polecenia asynchroniczne ignorują
SIGINT i WYJDŹ oprócz tych odziedziczonych handlerów. Polecenia uruchamiane w wyniku
podstawianie poleceń ignoruje generowane z klawiatury sygnały sterujące zadaniami PODPIS, SYGTOU,
i SIGTSTP.

Powłoka domyślnie kończy działanie po otrzymaniu ZGŁOSZENIE. Przed wyjściem interaktywna powłoka
ponownie wysyła ZGŁOSZENIE do wszystkich zadań, uruchomionych lub zatrzymanych. Zatrzymane zadania są wysyłane SYGKONT do
upewnić się, że otrzymają ZGŁOSZENIE. Aby zapobiec wysyłaniu przez powłokę sygnału do
konkretne zadanie, należy je usunąć z tabeli zadań za pomocą zapierać się wbudowany (patrz
SHELL WBUDOWANE POLECENIA poniżej) lub oznaczone, aby nie otrzymywać ZGŁOSZENIE za pomocą zapierać się -h.

Jeśli huponexit opcja powłoki została ustawiona za pomocą zakupy, bash wysyła ZGŁOSZENIE do wszystkich prac
gdy kończy działanie interaktywnej powłoki logowania.

If bash czeka na zakończenie polecenia i otrzymuje sygnał, na który ma pułapkę
została ustawiona, pułapka nie zostanie wykonana, dopóki polecenie się nie zakończy. Kiedy bash czeka
dla polecenia asynchronicznego za pomocą czekać wbudowany, odbiór sygnału, dla którego
pułapka została ustawiona spowoduje, że czekać wbudowany, aby powrócić natychmiast ze statusem wyjścia
większe niż 128, natychmiast po którym wykonywana jest pułapka.

PRACA CONTROL


Praca kontrola odnosi się do zdolności do selektywnego zatrzymywania (zawieszać) realizacja procesów
i kontynuuj (Resume) ich wykonanie w późniejszym terminie. Użytkownik zazwyczaj to wykorzystuje
funkcja za pośrednictwem interaktywnego interfejsu dostarczanego wspólnie przez jądro systemu operacyjnego
sterownik terminala i bash.

Powłoka kojarzy a praca z każdym rurociągiem. Przechowuje tabelę aktualnie wykonywanych
zadania, które mogą być wymienione z Oferty pracy Komenda. Kiedy bash rozpoczyna pracę asynchronicznie
(w tło), drukuje linię, która wygląda tak:

[1] 25647

wskazując, że to zadanie ma numer 1 i że identyfikator procesu ostatniego procesu w
potok powiązany z tym zadaniem to 25647. Wszystkie procesy w jednym potoku
są członkami tej samej pracy. Bash używa praca abstrakcja jako podstawa kontroli pracy.

Aby ułatwić implementację interfejsu użytkownika do kontroli pracy, operacyjny
system utrzymuje pojęcie a aktualne terminal wygląda tak grupa ID. Członkowie tego
grupa procesów (procesy, których identyfikator grupy procesów jest równy bieżącemu procesowi terminala)
identyfikator grupy) odbiera sygnały generowane z klawiatury, takie jak SIGINT. Mówi się, że te procesy
być w pierwszy plan. Tło procesy to te, których identyfikator grupy procesów różni się od
terminala; takie procesy są odporne na sygnały generowane z klawiatury. Tylko pierwszy plan
procesy mogą czytać z lub, jeśli użytkownik tak określi za pomocą stty tostop, pisać do
terminalu. Procesy w tle, które próbują czytać z (zapisz do, gdy stty tostop
obowiązuje) terminale są wysyłane a PODPIS (SYGTOU) sygnał z terminala jądra
kierowca, który, o ile nie zostanie złapany, wstrzymuje proces.

Jeśli system operacyjny, na którym bash działa wspiera kontrolę zadań, bash zawiera
obiektów do korzystania z niego. Wpisywanie zawieszać znak (zazwyczaj ^Z, Control+Z), a
proces jest uruchomiony powoduje zatrzymanie procesu i zwrócenie kontroli do bash. Pisanie na maszynie
dotychczasowy opóźniony zawieszać znak (zazwyczaj ^Y, Control-Y) powoduje zatrzymanie procesu
gdy próbuje odczytać dane wejściowe z terminala, a kontrola ma zostać zwrócona do bash,
użytkownik może następnie manipulować stanem tego zadania, używając bg polecenie, aby kontynuować w
tło, fg polecenie, aby kontynuować go na pierwszym planie, lub zabić polecenie do zabicia
to. ZA ^Z zaczyna obowiązywać natychmiast i ma dodatkowy efekt uboczny polegający na tym, że jest w toku
dane wyjściowe i pismo do odrzucenia.

Istnieje wiele sposobów odwoływania się do zadania w powłoce. Charakter % wprowadza
szczegóły dotyczące oferty pracy (specyfikacja pracy). Numer zadania n może być określany jako %n. Praca może być również
odwołuje się do używania przedrostka nazwy użytej do jego uruchomienia lub używania podciągu, który się pojawia
w swoim wierszu poleceń. Na przykład, %ce odnosi się do zatrzymanego ce stanowisko. Jeśli prefiks pasuje
więcej niż jedna praca, bash zgłasza błąd. Za pomocą %?ce?, z drugiej strony, odnosi się do dowolnego
zadanie zawierające ciąg ce w swoim wierszu poleceń. Jeśli podciąg pasuje do więcej niż jednego
praca, bash zgłasza błąd. Symbole %% i %+ odwoływać się do pojęcia powłoki
aktualne praca, czyli ostatnie zadanie zatrzymane, gdy znajdowało się na pierwszym planie lub rozpoczęło się w
tło. ten poprzedni praca można się odwoływać za pomocą %-. Jeśli jest tylko jeden
praca, %+ i %- oba mogą być używane w odniesieniu do tego zadania. W danych wyjściowych dotyczących zadań (np.
wyjście z Oferty pracy polecenie), bieżąca praca jest zawsze oflagowana przez +i
poprzednia praca z -. Pojedynczy % (bez towarzyszącej specyfikacji stanowiska) również odnosi się do
aktualna praca.

Wystarczy nazwać zadanie, aby umieścić je na pierwszym planie: %1 jest synonimem „fg”
% 1'', przenosząc zadanie 1 z tła na pierwszy plan. Podobnie, ``% 1 &'' CV
praca 1 w tle, odpowiednik „bg” % 1''.

Powłoka uczy się natychmiast, gdy zadanie zmienia stan. Zwykle bash czeka, aż to
ma zamiar wydrukować monit przed zgłoszeniem zmian w stanie zadania, aby tego nie robić
przerwać jakiekolwiek inne wyjście. Jeśli -b opcja do zestaw włączone jest wbudowane polecenie, bash
niezwłocznie zgłasza takie zmiany. Jakakolwiek pułapka włączona SIGCHLD jest wykonywany za każde dziecko, które
wyjść.

Jeśli próba wyjścia bash jest wykonywane, gdy zadania są zatrzymane (lub, jeśli czeki powłoka
opcja została włączona za pomocą zakupy wbudowany, uruchomiony), powłoka wyświetla ostrzeżenie
wiadomość, a jeśli czeki opcja jest włączona, wyświetla zadania i ich statusy. ten
Oferty pracy polecenie może być następnie użyte do sprawdzenia ich statusu. Jeśli druga próba wyjścia jest
wykonane bez pośredniego polecenia, powłoka nie wypisuje kolejnego ostrzeżenia, a żadne
zatrzymane zadania są kończone.

PODSZEPT


Wykonując interaktywnie, bash wyświetla główny monit PS1 kiedy będzie gotowy
przeczytaj polecenie, a drugi monit PS2 kiedy potrzebuje więcej danych wejściowych, aby zakończyć a
dowództwo. Bash umożliwia dostosowanie tych podpowiedzi poprzez wstawienie liczby
znaki specjalne ze zmianą ukośnika odwrotnego ukośnika, które są dekodowane w następujący sposób:
\a znak dzwonka ASCII (07)
\d data w formacie „Dzień tygodnia Data miesiąca” (np. „Wtorek 26 maja”)
\D{format}
dotychczasowy format jest przekazywane do strftime.(3) a wynik jest wstawiany do
ciąg zachęty; pusty format wyniki w czasie specyficznym dla regionu
reprezentacja. Aparaty są wymagane
\e znak ucieczki ASCII (033)
\h nazwę hosta do pierwszego `.'
\H nazwa hosta
\j liczba zadań aktualnie zarządzanych przez powłokę
\l podstawowa nazwa urządzenia końcowego powłoki
\n Nowa linia
\r powrót karetki
\s nazwa powłoki, nazwa podstawowa $0 (część po finale
ciąć)
\t aktualny czas w formacie 24-godzinnym GG:MM:SS
\T aktualny czas w formacie 12-godzinnym GG:MM:SS
\@ aktualny czas w formacie 12-godzinnym am/pm
\A aktualny czas w formacie 24-godzinnym GG:MM
\u nazwa użytkownika bieżącego użytkownika
\v wersja bash (np. 2.00)
\V Uwolnienie bash, wersja + poziom poprawek (np. 2.00.0)
\w bieżący katalog roboczy, z $ HOME skrócony z tyldą (używa
wartość PROMPT_DIRTRIM zmienny)
\W podstawowa nazwa bieżącego katalogu roboczego, z $ HOME w skrócie
tylda
\! numer historii tego polecenia
\# numer polecenia tego polecenia
\$ jeśli efektywny UID wynosi 0, a #, w przeciwnym razie a $
\nnn znak odpowiadający liczbie ósemkowej nnn
\\ odwrotny ukośnik
\[ rozpocznij sekwencję znaków niedrukowalnych, które można wykorzystać do osadzenia
sekwencja sterowania terminalem w wierszu
\] zakończyć ciąg znaków niedrukowalnych

Numer polecenia i numer historii są zwykle różne: numer historii a
polecenie jest jego pozycją na liście historii, która może zawierać polecenia przywrócone z
plik historii (zobacz HISTORIA poniżej), podczas gdy numer polecenia jest pozycją w sekwencji
poleceń wykonanych podczas bieżącej sesji powłoki. Po zdekodowaniu ciągu jest
rozwinięty przez rozwinięcie parametrów, podstawianie poleceń, rozwinięcie arytmetyczne i cytat
usunięcie, z zastrzeżeniem wartości podpowiedzi opcja powłoki (patrz opis
zakupy dowództwo pod SHELL WBUDOWANE POLECENIA poniżej).

CZYTAJ LINIĘ


Jest to biblioteka, która obsługuje odczytywanie danych wejściowych podczas korzystania z interaktywnej powłoki, chyba że
--noedytowanie opcja jest podana przy wywołaniu powłoki. Edycja linii jest również używana podczas korzystania z
-e opcja do czytać wbudowany. Domyślnie polecenia edycji linii są podobne do tych
Emacsa. Dostępny jest również interfejs edycji linii w stylu vi. Edycja linii może być
włączone w dowolnym momencie za pomocą -o emacs or -o vi opcje do zestaw wbudowany (patrz SHELL
WBUDOWANE POLECENIA poniżej). Aby wyłączyć edycję wierszy po uruchomieniu powłoki, użyj +o
emacs or +o vi opcje do zestaw wbudowany.

readline Notacja
W tej sekcji notacja w stylu Emacsa jest używana do oznaczania naciśnięć klawiszy. Klawisze sterujące są
oznaczony przez C-klucznp. Cn oznacza Control-N. Podobnie, meta klucze są oznaczone M-klucz,
więc Mx oznacza Meta-X. (Na klawiaturach bez meta klucz, M-x oznacza ESC x, czyli naciśnij
Klawisz Escape, a następnie x klucz. To sprawia, że ​​ESC jest meta prefiks. Połączenie MC-x znaczy
ESC-Sterowanie-xlub naciśnij klawisz Escape, a następnie przytrzymaj klawisz Ctrl, naciskając jednocześnie x
klucz.)

Polecenia Readline mogą być podane numerycznie argumenty, które zwykle działają jako licznik powtórzeń.
Czasami jednak jest to znak argumentu, który ma znaczenie. Przekazywanie
ujemny argument polecenia, które działa w przód (np. linia zabijania) przyczyny
to polecenie, aby działać w odwrotnym kierunku. Polecenia, których zachowanie z argumentami
odchylenia od tego są podane poniżej.

Gdy polecenie jest opisane jako zabicie tekst, usunięty tekst jest zapisywany na ewentualną przyszłość
odzyskiwanie (szarpanie). Zabity tekst jest zapisywany w zabić pierścień. Kolejne zabójstwa powodują
tekst, który ma zostać zebrany w jedną jednostkę, którą można szarpać za jednym razem. Polecenia, które
nie zabijaj tekstu oddzielaj fragmenty tekstu na pierścieniu zabijania.

readline Inicjalizacji
Readline jest dostosowywany poprzez umieszczenie poleceń w pliku inicjującym ( inputr plik).
Nazwa tego pliku jest pobierana z wartości WEJŚCIE zmienny. Jeśli ta zmienna
nie jest ustawiona, domyślnie ~ / .inputrc. Gdy program korzystający z biblioteki readline
uruchamia się, plik inicjujący jest odczytywany i ustawiane są powiązania klawiszy i zmienne.
W pliku inicjującym readline jest dozwolonych tylko kilka podstawowych konstrukcji. Pusty
linie są ignorowane. Linie zaczynające się na # są komentarze. Linie zaczynające się na $
wskazać konstrukcje warunkowe. Inne wiersze oznaczają powiązania klawiszy i ustawienia zmiennych.

Domyślne skróty klawiszowe można zmienić za pomocą inputr plik. Inne programy, które używają
ta biblioteka może dodawać własne polecenia i wiązania.

Na przykład umieszczenie

M-Control-u: uniwersalny-argument
or
C-Meta-u: uniwersalny-argument
do inputr sprawi, że MCu wykona polecenie readline uniwersalny-argument.

Rozpoznawane są następujące symboliczne nazwy postaci: WYMAZAĆ, DEL, ESC, rozszerzenie LFD, NOWA LINIA,
RET, POWRÓT, SPC, SPACE, TAB.

Oprócz nazw poleceń readline umożliwia powiązanie klawiszy z łańcuchem, który jest
wstawiana po naciśnięciu klawisza (a makro).

readline Klawisz Wiązania
Składnia kontrolowania powiązań klawiszy w inputr plik jest prosty. To wszystko jest
wymagana jest nazwa polecenia lub tekst makra i sekwencja klawiszy, do której to
powinien być związany. Nazwę można podać na dwa sposoby: jako symboliczną nazwę klucza,
prawdopodobnie z Meta- or Kontrola- prefiksy lub jako sekwencja klawiszy.

Podczas korzystania z formularza nazwa klucza:nazwa funkcji or makro, nazwa klucza to pisownia nazwy klucza
w języku angielskim. Na przykład:

Control-u: uniwersalny-argument
Meta-Rubout: słowo back-kill-word
Control-o: "> wyjście"

W powyższym przykładzie Cu jest powiązany z funkcją uniwersalny-argument, M-DEL jest zobowiązany
Funkcja słowo-zabić-zabić-wstecz, Współ jest zobowiązany do uruchomienia makra wyrażonego po prawej stronie
strony strony (to znaczy wstawić tekst ``> wyjście'' do linii).

W drugiej formie „sekw klucza”:nazwa funkcji or makro, sekw.klawiszy różni się od nazwa klucza powyżej w
że ciągi oznaczające całą sekwencję klawiszy można określić, umieszczając sekwencję
w podwójnych cudzysłowach. Niektóre kody ucieczki klawiszy w stylu GNU Emacs mogą być użyte, jak poniżej
na przykład, ale symboliczne nazwy znaków nie są rozpoznawane.

"\Cu": uniwersalny-argument
"\Cx\Cr": ponownie odczytaj plik-inicjujący
"\e[11~": "Klawisz funkcyjny 1"

W tym przykładzie Cu jest ponownie powiązany z funkcją uniwersalny-argument. Cx Cr jest związany
do funkcji ponownie przeczytaj-plik-inicjujący, ESC [ 1 1 ~ jest zobowiązany do wstawienia tekstu ``Funkcja
Klucz 1''.

Pełny zestaw sekwencji specjalnych w stylu GNU Emacs to
\C- prefiks kontrolny
\M- przedrostek meta
\e postać ucieczki
\\ ukośnik wsteczny
\" dosłowny "
\' dosłowny '

Oprócz sekwencji ucieczki w stylu GNU Emacs, drugi zestaw kodów ucieczki odwrotnym ukośnikiem to:
dostępne:
\a alarm (dzwonek)
\b Backspace
\d usunąć
\f kanał formularzy
\n Nowa linia
\r powrót karetki
\t zakładka pozioma
\v pionowa zakładka
\nnn ośmiobitowy znak, którego wartością jest wartość ósemkowa nnn (jeden do trzech
cyfry)
\xHH ośmiobitowy znak, którego wartością jest wartość szesnastkowa HH (jeden lub dwa
cyfry szesnastkowe)

Podczas wprowadzania tekstu makra należy użyć pojedynczych lub podwójnych cudzysłowów, aby wskazać a
definicja makra. Zakłada się, że tekst bez cudzysłowu jest nazwą funkcji. W ciele makro
opisane powyżej znaki ucieczki odwrotnego ukośnika są rozwijane. Odwrotny ukośnik zacytuje dowolny inny znak
w tekście makra, w tym „ i ”.

Bash umożliwia wyświetlanie lub modyfikowanie bieżących przypisań klawiszy readline za pomocą związania
wbudowane polecenie. Tryb edycji można przełączać podczas interaktywnego użytkowania za pomocą -o
opcja do zestaw polecenie wbudowane (zobacz SHELL WBUDOWANE POLECENIA poniżej).

readline Zmienne
Readline posiada zmienne, których można użyć do dalszego dostosowania jego zachowania. Zmienna może
być ustawionym w inputr plik z oświadczeniem o formularzu

zestaw nazwa-zmiennej wartość

O ile nie zaznaczono inaczej, zmienne readline mogą przyjmować wartości On or poza (bez względu na
Obudowa). Nierozpoznane nazwy zmiennych są ignorowane. Gdy wartość zmiennej jest odczytywana, pusta lub
wartości null, "on" (bez uwzględniania wielkości liter) i "1" są równoważne On. Wszystkie inne wartości są
równoważny poza. Zmienne i ich wartości domyślne to:

w stylu dzwonka (słyszalny)
Kontroluje, co się dzieje, gdy readline chce zadzwonić dzwonkiem terminala. Jeśli ustawione na
Żaden, readline nigdy nie dzwoni. Jeśli ustawione na widoczny, readline używa widocznego
dzwonek, jeśli jest dostępny. Jeśli ustawione na słyszalny, readline próbuje zadzwonić do
dzwonek terminala.
bind-tty-specjalne-znaki (Na)
Jeśli ustawione na On, readline próbuje powiązać znaki kontrolne traktowane specjalnie przez
sterownik terminala jądra na ich odpowiedniki w readline.
kolorowe-statystyki (Poza)
Jeśli ustawione na Onreadline wyświetla możliwe uzupełnienia przy użyciu różnych kolorów, aby
wskazać ich typ pliku. Definicje kolorów są pobierane z wartości
LS_COLORS zmienna środowiskowa.
komentarz-początek (``#'')
Ciąg wstawiany, gdy readline wstaw komentarz wykonywane jest polecenie.
To polecenie jest związane z M-# w trybie emacs i do # w trybie poleceń vi.
zakończenie-ignoruj-przypadek (Poza)
Jeśli ustawione na On, readline wykonuje dopasowywanie i uzupełnianie nazw plików w a
moda bez rozróżniania wielkości liter.
długość-wyświetlania-zakończenia-prefiksu (0)
Długość w znakach wspólnego przedrostka listy możliwych uzupełnień
który jest wyświetlany bez modyfikacji. Po ustawieniu na wartość większą od zera,
wspólne przedrostki dłuższe niż ta wartość są zastępowane wielokropkiem, gdy
wyświetlanie możliwych uzupełnień.
elementy-zapytania-zakończenia (100)
Określa, kiedy użytkownik jest pytany o wyświetlenie liczby możliwych
uzupełnienia generowane przez możliwe-ukończenia Komenda. Może być ustawiony na dowolny
wartość całkowita większa lub równa zero. Jeśli liczba możliwych uzupełnień
jest większa lub równa wartości tej zmiennej, użytkownik jest pytany, czy:
lub nie chce je oglądać; w przeciwnym razie są po prostu wymienione na terminalu.
konwertuj-meta (Na)
Jeśli ustawione na On, readline przekonwertuje znaki z ósmym bitem ustawionym na ASCII
sekwencja klawiszy, usuwając ósmy bit i poprzedzając znak ucieczki (in
efekt, używając ucieczki jako meta prefiks).
wyłączanie-ukończenie (Poza)
Jeśli ustawione na On, readline zablokuje uzupełnianie słów. Znaki dopełnienia będą
wstawione do linii tak, jakby zostały zmapowane do samowkładanie.
tryb edycji (emac)
Kontroluje, czy readline zaczyna się od zestawu skrótów klawiszowych podobnego do Emacs or vi.
tryb edycji można ustawić na albo emacs or vi.
Echo-kontrolne-znaki (Na)
Po ustawieniu na On, w systemach operacyjnych, które wskazują, że je obsługują, readline echoes
znak odpowiadający sygnałowi generowanemu z klawiatury.
włącz klawiaturę (Poza)
Po ustawieniu na On, readline spróbuje włączyć klawiaturę aplikacji, gdy jest
nazywa. Niektóre systemy wymagają tego, aby włączyć klawisze strzałek.
włącz-meta-klucz (Na)
Po ustawieniu na On, readline spróbuje włączyć dowolny klawisz modyfikujący meta w terminalu
twierdzi, że wspiera, gdy jest nazywany. Na wielu terminalach klawisz meta służy do
wysyłaj znaki ośmiobitowe.
rozwiń-tylda (Poza)
Jeśli ustawione na On, interpretacja tyldy jest wykonywana, gdy readline próbuje uzupełniać słowa.
punkt zachowania historii (Poza)
Jeśli ustawione na On, kod historii próbuje umieścić punkt w tej samej lokalizacji na każdym
wiersz historii pobrany za pomocą poprzednia historia or następna historia.
rozmiar historii (0)
Ustaw maksymalną liczbę wpisów historii zapisanych na liście historii. Jeśli ustawione na
zero, wszelkie istniejące wpisy historii są usuwane i żadne nowe wpisy nie są zapisywane. Jeśli
ustawiony na wartość mniejszą od zera, liczba wpisów historii nie jest ograniczona. Za pomocą
domyślnie liczba wpisów historii nie jest ograniczona.
tryb przewijania w poziomie (Poza)
Po ustawieniu na On, powoduje, że readline używa do wyświetlania jednej linii, przewijając dane wejściowe
poziomo na pojedynczej linii ekranu, gdy staje się ona dłuższa niż szerokość ekranu
zamiast zawijania do nowej linii.
wejście-meta (Poza)
Jeśli ustawione na On, readline włączy ośmiobitowe wejście (to znaczy, że nie rozbierze
wysoki bit z odczytywanych znaków), niezależnie od tego, co twierdzi terminal
może wspierać. Imię meta-flaga jest synonimem tej zmiennej.
isearch-terminatory (``C-[C-J'')
Ciąg znaków, który powinien zakończyć wyszukiwanie przyrostowe bez
następnie wykonanie znaku jako polecenia. Jeśli ta zmienna nie została
podana wartość, znaki ESC i CJ zakończy wyszukiwanie przyrostowe.
mapa klawiszy (emac)
Ustaw bieżącą mapę klawiszy readline. Zestaw poprawnych nazw map klawiszy to emacs,
standardowy emacs, emacs-meta, emacs-ctlx, Ty, vi-komenda, vi-wstaw. vi is
równoważny vi-komenda; emacs odpowiada standard emacs. Wartość domyślna
is emacs; wartość tryb edycji wpływa również na domyślną mapę klawiszy.
keyeq-timeout (500)
Określa czas trwania Czytaj linię będzie czekać na znak podczas czytania niejednoznacznego
sekwencja klawiszy (taka, która może utworzyć kompletną sekwencję klawiszy przy użyciu wejścia read so
daleko lub może wymagać dodatkowych danych wejściowych, aby ukończyć dłuższą sekwencję klawiszy). Jeśli nie ma danych wejściowych
zostanie odebrany w określonym czasie, Czytaj linię użyje krótszego, ale pełnego klucza
sekwencja. Wartość jest podawana w milisekundach, więc wartość 1000 oznacza, że
Czytaj linię będzie czekać jedną sekundę na dodatkowe dane wejściowe. Jeśli ta zmienna jest ustawiona na a
wartość mniejsza lub równa zero lub wartość nienumeryczna, Czytaj linię poczeka
do momentu naciśnięcia innego klawisza, aby zdecydować, którą sekwencję klawiszy należy zakończyć.
katalogi mark (Na)
Jeśli ustawione na On, uzupełnione nazwy katalogów mają dodany ukośnik.
zaznacz-zmodyfikowane-linie (Poza)
Jeśli ustawione na On, wiersze historii, które zostały zmodyfikowane, są wyświetlane z poprzedzającym
gwiazdka (*).
katalogi z dowiązaniami symbolicznymi (Poza)
Jeśli ustawione na On, uzupełnione nazwy będące dowiązaniami symbolicznymi do katalogów mają ukośnik
dołączone (z zastrzeżeniem wartości katalogi mark).
dopasuj-ukryte-pliki (Na)
Ta zmienna, gdy jest ustawiona na On, powoduje, że readline dopasowuje pliki, których nazwy zaczynają się
z `.' (ukryte pliki) podczas wykonywania uzupełniania nazw plików. Jeśli ustawione na pozaThe
wiodące `.' musi być podany przez użytkownika w nazwie pliku, który ma zostać uzupełniony.
menu-kompletne-wyświetlanie prefiksu (Poza)
Jeśli ustawione na On, zakończenie menu wyświetla wspólny prefiks listy możliwych
uzupełnienia (które mogą być puste) przed przejściem przez listę.
wyjście-meta (Poza)
Jeśli ustawione na On, readline wyświetli bezpośrednio znaki z ustawionym ósmym bitem
zamiast jako sekwencja ucieczki z przedrostkiem meta.
uzupełnienia stron (Na)
Jeśli ustawione na On, readline używa wewnętrznego jeszcze-jak pager do wyświetlania pełnego ekranu
możliwych uzupełnień na raz.
drukuj-ukończenia-poziomo (Poza)
Jeśli ustawione na On, readline wyświetli uzupełnienia z dopasowaniami posortowanymi poziomo w
alfabetycznie, a nie w dół ekranu.
cofnij-wszystko-w-nowej linii (Poza)
Jeśli ustawione na On, readline cofnie wszystkie zmiany w wierszach historii przed powrotem, gdy
akceptuj-line jest wykonywany. Domyślnie wiersze historii mogą być modyfikowane i zachowywane
indywidualne listy cofania w połączeniach do Czytaj linię.
pokaż-wszystko-jeśli-niejednoznaczne (Poza)
Zmienia to domyślne zachowanie funkcji uzupełniania. Jeśli ustawione na On, słowa
które mają więcej niż jedno możliwe uzupełnienie, powodują wyświetlenie dopasowań
natychmiast zamiast dzwonić.
pokaż-wszystko-jeśli-niezmodyfikowane (Poza)
Zmienia to domyślne zachowanie funkcji uzupełniania w podobny sposób
do pokaż-wszystko-jeśli-niejednoznaczne. Jeśli ustawione na On, słowa, które mają więcej niż jedno możliwe
uzupełnienie bez możliwości uzupełnienia częściowego (możliwe uzupełnienia nie
mają wspólny prefiks) powodują natychmiastowe wyświetlanie dopasowań zamiast
dzwonek.
tryb pokazu w trybie monitu (Poza)
Jeśli ustawione na On, dodaj znak na początku monitu wskazującego na edycję
tryb: emacs (@), polecenie vi (:) lub wstawianie vi (+).
pomiń uzupełniony-tekst (Poza)
Jeśli ustawione na On, zmienia to domyślne zachowanie uzupełniania podczas wstawiania pojedynczego
dopasować do linii. Jest aktywny tylko podczas wykonywania ukończenia w środku
słowo. Jeśli włączone, readline nie wstawia znaków z uzupełnienia, które:
dopasuj znaki po punkcie w uzupełnianym słowie, więc części słowa
następujące po kursorze nie są duplikowane.
widoczne-statystyki (Poza)
Jeśli ustawione na On, znak oznaczający typ pliku zgłoszony przez stan(2) jest dołączony
do nazwy pliku przy wyświetlaniu możliwych uzupełnień.

readline Warunkowy Konstrukcje
Readline implementuje udogodnienie zbliżone duchem do funkcji kompilacji warunkowej
preprocesora C, który umożliwia wykonywanie przypisań klawiszy i ustawień zmiennych jako
wynik testów. Używane są cztery dyrektywy parsera.

$jeśli Połączenia $jeśli konstrukcja umożliwia tworzenie powiązań w oparciu o tryb edycji,
używany terminal lub aplikacja korzystająca z readline. Tekst testu
rozciąga się do końca linii; do jego oddzielenia nie są wymagane żadne znaki.

tryb Połączenia tryb= forma $jeśli dyrektywa służy do sprawdzania, czy readline jest w
tryb emacs lub vi. Może być używany w połączeniu z zestaw mapa klawiszy
polecenie, na przykład, aby ustawić powiązania w standard emacs i emacs-ctlx
mapowanie klawiszy tylko wtedy, gdy readline uruchamia się w trybie emacs.

semestr Połączenia termin= formularz może być używany do dołączania wiązań klawiszy specyficznych dla terminala,
być może powiązać sekwencje klawiszy wyprowadzane przez klawisze funkcyjne terminala.
Słowo po prawej stronie = jest testowany pod kątem obu pełnej nazwy
terminal i część nazwy terminala przed pierwszą -, To
pozwala słońce pasować do obu słońce i słońce cmd, na przykład.

aplikacja
Połączenia aplikacja konstrukcja służy do uwzględniania ustawień specyficznych dla aplikacji.
Każdy program korzystający z biblioteki readline ustawia aplikacja Nazwa, Oraz
plik inicjujący może testować pod kątem określonej wartości. Można to wykorzystać do
powiązać sekwencje klawiszy z funkcjami przydatnymi w określonym programie. Do
na przykład poniższe polecenie dodaje sekwencję klawiszy, która cytuje bieżącą
lub poprzednie słowo w bash:

$jeśli Bash
# Cytuj bieżące lub poprzednie słowo
"\C-xq": "\eb\"\ef\""
$koniec

$koniec To polecenie, jak widać w poprzednim przykładzie, kończy a $jeśli dowództwo.

$inny Polecenia w tej gałęzi $jeśli dyrektywy są wykonywane, jeśli test się nie powiedzie.

$zawiera
Ta dyrektywa przyjmuje pojedynczą nazwę pliku jako argument i odczytuje polecenia oraz
wiązania z tego pliku. Na przykład następująca dyrektywa brzmiałaby:
/ etc / inputrc:

$zawiera / etc / inputrc

Badawczy
Readline udostępnia polecenia do przeszukiwania historii poleceń (zobacz HISTORIA poniżej)
dla linii zawierających określony ciąg. Istnieją dwa tryby wyszukiwania: przyrostowe i nie-
przyrostowe.

Wyszukiwanie przyrostowe rozpoczyna się, zanim użytkownik zakończy wpisywanie szukanego ciągu. Jak każdy
wpisywany jest znak szukanego ciągu, readline wyświetla następny wpis z historii
pasujące do wpisanego do tej pory ciągu. Wyszukiwanie przyrostowe wymaga tylko tylu znaków
w razie potrzeby, aby znaleźć żądany wpis historii. Postacie obecne w wartości
isearch-terminatory zmienne są używane do zakończenia wyszukiwania przyrostowego. Jeśli to
zmiennej nie przypisano wartości, po której znaki Escape i Control-J zakończą się
wyszukiwanie przyrostowe. Control-G przerwie wyszukiwanie przyrostowe i przywróci
oryginalna linia. Po zakończeniu wyszukiwania wpis historii zawierający wyszukiwanie
ciąg staje się bieżącym wierszem.

Aby znaleźć inne pasujące wpisy na liście historii, wpisz Control-S lub Control-R jako
właściwy. Spowoduje to przeszukanie wstecz lub do przodu w historii w poszukiwaniu następnego wpisu
pasujące do wpisanego do tej pory ciągu wyszukiwania. Dowolna inna sekwencja klawiszy powiązana z readline
polecenie zakończy wyszukiwanie i wykona to polecenie. Na przykład Nowa linia będzie
zakończyć wyszukiwanie i zaakceptować wiersz, wykonując w ten sposób polecenie z historii
lista.

Readline zapamiętuje ostatni ciąg wyszukiwania przyrostowego. Jeśli wpisane są dwa Control-R
bez żadnych znaków interweniujących definiujących nowy ciąg wyszukiwania, każde zapamiętane wyszukiwanie
używany jest ciąg.

Wyszukiwania nieprzyrostowe odczytują cały ciąg wyszukiwania przed rozpoczęciem wyszukiwania
pasujące wiersze historii. Wyszukiwany ciąg może być wpisany przez użytkownika lub być częścią
zawartość bieżącej linii.

readline Command nazwy
Poniżej znajduje się lista nazw poleceń i domyślnych sekwencji klawiszy do:
które są związani. Nazwy poleceń bez towarzyszącej sekwencji klawiszy są niezwiązane przez
domyślna. W poniższych opisach punkt odnosi się do aktualnej pozycji kursora, a
znak odnosi się do pozycji kursora zapisanej przez ustawić znak Komenda. Tekst między
punkt i znak jest określany jako region.

Polecenia dla Przeniesienie
początek linii (Ca)
Przejdź na początek bieżącej linii.
koniec linii (ce)
Przejdź na koniec wiersza.
znak do przodu (por.)
Przesuń się do przodu o postać.
znak wsteczny (Cb)
Cofnij się o znak.
słowo do przodu (Mf)
Przejdź do końca następnego słowa. Słowa składają się z alfanumerycznych
znaki (litery i cyfry).
słowo odwrotne (Mb)
Wróć na początek bieżącego lub poprzedniego słowa. Słowa składają się z
znaki alfanumeryczne (litery i cyfry).
słowo do przodu
Przejdź do końca następnego słowa. Słowa są oddzielone nie cytowaną powłoką
metaznaki.
słowo-wstecz-powłoka
Wróć na początek bieżącego lub poprzedniego słowa. Słowa są oddzielone przez
nie cytowane metaznaki powłoki.
czysty ekran (Cl)
Wyczyść ekran, pozostawiając bieżącą linię u góry ekranu. Z
argument, odśwież bieżącą linię bez czyszczenia ekranu.
przerysuj-prąd-linia
Odśwież bieżącą linię.

Polecenia dla Manipulowanie dotychczasowy Historia
akceptuj-line (Nowa linia, Powrót)
Zaakceptuj linię niezależnie od tego, gdzie znajduje się kursor. Jeśli ten wiersz nie jest pusty, dodaj
go do listy historii według stanu KONTROLA HISTORII zmienny. Jeśli
linia jest zmodyfikowaną linią historii, a następnie przywróć linię historii do jej oryginalnej
stan.
poprzednia historia (Kp)
Pobierz poprzednie polecenie z listy historii, cofając się na liście.
następna historia (Cn)
Pobierz następne polecenie z listy historii, przechodząc dalej na liście.
początek-historii (M-<)
Przejdź do pierwszego wiersza w historii.
koniec-historii (M->)
Przejdź do końca historii wprowadzania, tj. aktualnie wprowadzanej linii.
historia wyszukiwania wstecznego (Cr)
Szukaj wstecz, zaczynając od bieżącego wiersza i poruszając się `w górę' przez historię jako
niezbędny. To jest wyszukiwanie przyrostowe.
forward-search-historia (C)
Szukaj w przód, zaczynając od bieżącego wiersza i poruszając się `w dół' przez historię
jako niezbędne. To jest wyszukiwanie przyrostowe.
nieprzyrostowa-historia-odwrotnego wyszukiwania (Poseł)
Przeszukuj wstecz historię, zaczynając od bieżącego wiersza, używając nie-
wyszukiwanie przyrostowe łańcucha dostarczonego przez użytkownika.
nieprzyrostowa-do przodu-historia-wyszukiwania (Mn)
Przeszukuj historię do przodu za pomocą nieprzyrostowego wyszukiwania ciągu
dostarczone przez użytkownika.
Historia wyszukiwania do przodufor
Wyszukaj w historii ciąg znaków między początkiem
bieżącej linii i punktu. To jest wyszukiwanie nieprzyrostowe.
wyszukiwanie historii wstecz
Wyszukaj wstecz w historii ciąg znaków między początkiem
bieżącej linii i punktu. To jest wyszukiwanie nieprzyrostowe.
yank-n-ty-arg (MCy)
Wstaw pierwszy argument do poprzedniego polecenia (zwykle drugie słowo na
poprzedni wiersz) w punkcie. Z argumentem n, wstaw plik nsłowo z poprzedniego
polecenie (słowa w poprzednim poleceniu zaczynają się od słowa 0). Negatywny argument
wstawia nsłowo od końca poprzedniego polecenia. Kiedyś argument n is
obliczona, argument jest wyodrębniany tak, jakby znak „!n„rozszerzenie historii było
określony.
szarpanie-ostatni-arg (M-., M-_)
Wstaw ostatni argument do poprzedniego polecenia (ostatnie słowo poprzedniego
wpis historii). Z argumentem liczbowym zachowuj się dokładnie tak, jak yank-n-ty-arg.
Kolejne połączenia do szarpanie-ostatni-arg cofnij się po liście historii, wstawiając
ostatnie słowo (lub słowo określone przez argument pierwszego wywołania) każdej linii w
skręcać. Każdy argument liczbowy dostarczony do tych kolejnych wywołań określa
kierunek poruszania się po historii. Negatywny argument zmienia kierunek
przez historię (wstecz lub do przodu). Wykorzystywane są urządzenia do rozbudowy historii
aby wyodrębnić ostatnie słowo, tak jakby podano rozwinięcie historii "!$".
powłoka-rozwiń-line (MCe)
Rozwiń linię tak, jak robi to powłoka. Wykonuje ekspansję aliasów i historii jako
jak również wszystkie rozszerzenia słów powłoki. Widzieć HISTORIA EKSPANSJA poniżej dla
opis ekspansji historii.
historia-rozwiń-line (M-^)
Wykonaj ekspansję historii w bieżącym wierszu. Widzieć HISTORIA EKSPANSJA poniżej dla
opis ekspansji historii.
magiczna przestrzeń
Wykonaj rozwinięcie historii w bieżącym wierszu i wstaw spację. Widzieć HISTORIA
EKSPANSJA poniżej opis ekspansji historii.
alias-linia-rozwijania
Wykonaj rozszerzenie aliasu w bieżącej linii. Widzieć SKRÓTY powyżej opis
rozszerzenia aliasu.
historia-i-alias-rozwiń-line
Wykonuj historię i rozszerzanie aliasów w bieżącej linii.
wstaw ostatni argument (M-., M-_)
Synonim słowa szarpanie-ostatni-arg.
działać-i-dostać-następny (Współ)
Zaakceptuj bieżącą linię do wykonania i pobierz następną linię względem
aktualny wiersz z historii do edycji. Każdy argument jest ignorowany.
polecenie edycji i wykonania (C-xC-e)
Wywołaj edytor w bieżącym wierszu poleceń i wykonaj wynik jako powłoka
Polecenia. Bash próby wywołania $WIZUALNE, $ EDITOR, emacs jako redaktor, w
to zamówienie.

Polecenia dla Wymiana pieniędzy Tekst
koniec pliku (Zwykle Płyta CD)
Znak wskazujący koniec pliku ustawiony, na przykład, przez ``stty''. Jeśli to
znak jest odczytywany, gdy w linii nie ma żadnych znaków, a punkt znajduje się na
początek wiersza, Readline interpretuje go jako koniec wejścia i zwraca EOF.
usuń-char (Płyta CD)
Usuń znak w punkcie. Jeśli ta funkcja jest powiązana z tym samym znakiem, co
tty EOF postać, jak Płyta CD często jest, patrz wyżej dla efektów.
wstecz-usuń-znak (Wymazać)
Usuń znak za kursorem. Po podaniu argumentu liczbowego zapisz
usunięty tekst na pierścieniu zabijania.
do przodu-do tyłu-usuń znak
Usuń znak pod kursorem, chyba że kursor znajduje się na końcu wiersza,
w takim przypadku znak za kursorem jest usuwany.
wstawka cytowana (Cq, CV)
Dodaj następny znak wpisany do wiersza dosłownie. Oto jak wstawić
postacie takie jak Cq, na przykład.
zakładka-wstaw (Cv PATKA)
Wstaw znak tabulacji.
samowkładanie (A, b, A, 1, !, ...)
Wstaw wpisany znak.
transponować-znaków (Ct)
Przeciągnij znak przed punktem do przodu na znak w punkcie, przesuwając punkt
do przodu również. Jeśli punkt jest na końcu linii, to transponuje to dwa
znaki przed pkt. Negatywne argumenty nie mają wpływu.
transponować-słowa (Mt)
Przeciągnij słowo przed punktem poza słowo po punkcie, przesuwając punkt nad tym słowem
także. Jeśli punkt jest na końcu linii, to transponuje ostatnie dwa słowa na
linia.
wielkie-słowo (Mu)
Wielkie litery bieżącego (lub następującego) słowa. Z argumentem ujemnym wielkie litery
poprzednie słowo, ale nie przesuwaj punktu.
małe słowo (mln)
Małe litery bieżącego (lub następującego) słowa. Z argumentem ujemnym małe litery
poprzednie słowo, ale nie przesuwaj punktu.
wielkie-słowo (Mc)
Zamień bieżące (lub następne) słowo na wielką literę. W przypadku negatywnego argumentu kapitalizuj
poprzednie słowo, ale nie przesuwaj punktu.
tryb nadpisywania
Przełącz tryb nadpisywania. Z wyraźnym dodatnim argumentem liczbowym przełącza na
tryb nadpisywania. Z jawnym, niedodatnim argumentem liczbowym, przełącza na wstaw
tryb. To polecenie dotyczy tylko emacs tryb; vi tryb nadpisuje inaczej.
Każde wezwanie do Czytaj linię() rozpoczyna się w trybie wstawiania. W trybie nadpisywania znaki powiązane
do samowkładanie zastąp tekst w punkcie, zamiast przesuwać tekst w prawo.
Znaki związane z wstecz-usuń-znak zamień znak przed punktem na a
przestrzeń. Domyślnie to polecenie jest niepowiązane.

Zabicie i Janking
linia zabijania (Ck)
Usuń tekst od punktu do końca wiersza.
wstecz-kill-line (Cx Wymazać)
Zabij do tyłu do początku linii.
unix-line-discard (Cu)
Zabij wstecz od punktu do początku linii. Zabity tekst jest zapisywany w dniu
pierścień zabijania.
zabić całą linię
Zabij wszystkie znaki w bieżącej linii, bez względu na to, gdzie jest punkt.
słowo-zabić (Md)
Zabij od punktu do końca bieżącego słowa lub, jeśli między słowami, do końca
następne słowo. Granice słów są takie same jak te używane przez słowo do przodu.
słowo-zabić-zabić-wstecz (M-Rubout)
Zabij słowo za punktem. Granice słów są takie same jak te używane przez
słowo odwrotne.
Powłoka-zabij-słowo (Md)
Zabij od punktu do końca bieżącego słowa lub, jeśli między słowami, do końca
następne słowo. Granice słów są takie same jak te używane przez słowo do przodu.
shell-wstecz-zabij-word (M-Rubout)
Zabij słowo za punktem. Granice słów są takie same jak te używane przez
słowo-wstecz-powłoka.
unix-word-ruout (Cw)
Usuń słowo za punktem, używając spacji jako granicy słowa. Zabity tekst
jest zapisywany na pierścieniu zabijania.
nazwa-pliku-unix-rubout
Zabij słowo za punktem, używając spacji i ukośnika jako słowa
Granic. Zabity tekst jest zapisywany na pierścieniu zabijania.
usuń-poziomą-spację (M-\)
Usuń wszystkie spacje i tabulatory wokół punktu.
region zabicia
Zabij tekst w aktualnym regionie.
kopiuj-region-jako-zabij
Skopiuj tekst w regionie do bufora zabijania.
kopiuj-wstecz-słowo
Skopiuj słowo before wskaż bufor zabicia. Granice słów są takie same jak
słowo odwrotne.
kopiuj-prześlij-słowo
Skopiuj słowo następujące po punkcie do bufora zabijania. Granice słów są takie same
as słowo do przodu.
szarpać (Cy)
Pociągnij górną część pierścienia zabijania do bufora w punkcie.
jank-pop (Mój)
Obróć pierścień zabijania i szarpnij nowy wierzch. Działa tylko po szarpać or jank-pop.

Numeryczne Argumenty
cyfra-argument (M-0, M-1, ... M--)
Dodaj tę cyfrę do już kumulowanego argumentu lub rozpocznij nowy argument. M--
rozpoczyna negatywną argumentację.
uniwersalny-argument
To kolejny sposób na określenie argumentu. Jeśli po tym poleceniu występuje jeden lub
więcej cyfr, opcjonalnie z wiodącym znakiem minus, cyfry te określają
argument. Jeśli po poleceniu występują cyfry, wykonanie uniwersalny-argument ponownie
kończy argument liczbowy, ale w przeciwnym razie jest ignorowany. W szczególnym przypadku, jeśli to
bezpośrednio po poleceniu następuje znak, który nie jest ani cyfrą, ani minusem
znak, liczba argumentów dla następnego polecenia jest mnożona przez cztery. Argument
liczba wynosi początkowo jeden, więc wykonanie tej funkcji po raz pierwszy powoduje, że
argument liczy cztery, za drugim razem argument liczy szesnaście i tak dalej.

Kończenie
kompletny (PATKA)
Próba uzupełnienia tekstu przed punktem. Bash próby ukończenia
traktowanie tekstu jako zmiennej (jeśli tekst zaczyna się od $), nazwa użytkownika (jeśli tekst
Zaczyna się z ~), nazwa hosta (jeśli tekst zaczyna się od @) lub polecenie (w tym aliasy
i funkcje) z kolei. Jeśli żaden z tych elementów nie daje dopasowania, uzupełnianie nazwy pliku to
próbował.
możliwe-ukończenia (M-?)
Wymień możliwe uzupełnienia tekstu przed punktem.
wstawka-uzupełnienia (M-*)
Wstaw wszystkie uzupełnienia tekstu przed punktem, które zostałyby wygenerowane przez
możliwe-ukończenia.
menu-kompletne
Podobny do kompletny, ale zastępuje słowo do uzupełnienia pojedynczym dopasowaniem z
lista możliwych uzupełnień. Wielokrotne wykonanie menu-kompletne kroki
przez listę możliwych uzupełnień, wstawiając kolejno każde dopasowanie. Na końcu
listy uzupełnień, rozlega się dzwonek (z zastrzeżeniem ustawienia w stylu dzwonka)
i przywracany jest oryginalny tekst. Argument n porusza się n pozycje do przodu w
lista meczów; argument ujemny może być użyty do cofnięcia się przez
lista. To polecenie ma być powiązane z TAB, ale domyślnie nie jest powiązany.
menu-kompletne-wstecz
Identyczny z menu-kompletne, ale przechodzi wstecz przez listę możliwych
uzupełnienia, jakby menu-kompletne otrzymał przeczący argument. To polecenie
jest domyślnie niezwiązany.
usuń-znak-lub-listę
Usuwa znak pod kursorem, jeśli nie znajduje się na początku lub na końcu linii
(lubić usuń-char). Jeśli na końcu linii zachowuje się identycznie jak
możliwe-ukończenia. To polecenie jest domyślnie niepowiązane.
pełna nazwa pliku (M-/)
Spróbuj uzupełnić nazwę pliku na tekście przed punktem.
możliwe uzupełnienia nazw plików (Cx /)
Wypisz możliwe uzupełnienia tekstu przed kursorem, traktując go jako nazwę pliku.
pełna nazwa użytkownika (M-~)
Spróbuj uzupełnić tekst przed punktem, traktując go jako nazwę użytkownika.
możliwe uzupełnienia nazwy użytkownika (Cx ~)
Wypisz możliwe uzupełnienia tekstu przed punktem, traktując go jako nazwę użytkownika.
pełna-zmienna (M-$)
Spróbuj uzupełnić tekst przed punktem, traktując go jako zmienną powłoki.
możliwe-zmienne-uzupełnienia (Cx $)
Wymień możliwe uzupełnienia tekstu przed punktem, traktując go jako powłokę
zmienna.
pełna nazwa hosta (M-@)
Spróbuj uzupełnić tekst przed punktem, traktując go jako nazwę hosta.
możliwe uzupełnienia nazwy hosta (Cx @)
Wypisz możliwe uzupełnienia tekstu przed punktem, traktując go jako nazwę hosta.
kompletne polecenie (M-!)
Spróbuj uzupełnić tekst przed punktem, traktując go jako nazwę polecenia.
Uzupełnianie poleceń próbuje dopasować tekst do aliasów, słów zastrzeżonych,
funkcje powłoki, wbudowane powłoki i wreszcie nazwy plików wykonywalnych, w tej kolejności.
możliwe-uzupełnienia-polecenia (Cx !)
Wypisz możliwe uzupełnienia tekstu przed punktem, traktując go jako polecenie
nazwa.
dynamiczna-kompletna-historia (M-TAB)
Spróbuj uzupełnić tekst przed punktem, porównując tekst z wierszami z
lista historii dla możliwych dopasowań dopełnienia.
dabbev-rozwiń
Spróbuj uzupełnić menu na tekście przed punktem, porównując tekst z wierszami
z listy historii dla możliwych dopasowań dopełnienia.
kompletny w nawiasy klamrowe (M-{)
Wykonaj uzupełnianie nazw plików i wstaw załączoną listę możliwych uzupełnień
w nawiasach klamrowych, aby lista była dostępna dla powłoki (zobacz Klamra Ekspansja powyżej).

klawiatura Makra
start-kbd-makro (Cx ()
Rozpocznij zapisywanie znaków wpisanych do bieżącego makra klawiatury.
koniec-kbd-makro (Cx ))
Zatrzymaj zapisywanie znaków wpisywanych w bieżącym makrze klawiatury i zapisz
definicja.
wywołanie-ostatnie-kbd-makro (Cx e)
Ponownie wykonaj ostatnie zdefiniowane makro klawiatury, tworząc znaki w makrze
pojawiają się tak, jakby były wpisywane na klawiaturze.
drukuj-ostatnie-kbd-makro ()
Wydrukuj ostatnie zdefiniowane makro klawiatury w formacie odpowiednim dla inputr plik.

Różne
ponownie przeczytaj-plik-inicjujący (Cx Cr)
Przeczytaj w treści inputr plik i zawierać wszelkie powiązania lub zmienne
znalezione tam zadania.
poronienie (Zg)
Przerwij bieżące polecenie edycji i zadzwoń dzwonkiem terminala (z zastrzeżeniem
ustawienie w stylu dzwonka).
wersja pisana wielkimi literami (Mama, Mb, M-x, ...)
Jeśli metafizyczna postać x jest małymi literami, uruchom polecenie powiązane z
odpowiedni znak z wielkiej litery.
przedrostek-meta (WYJŚCIE)
Metafikuj następną wpisaną postać. ESC f odpowiada Meta-f.
anulować (C-_, Cx Cu)
Cofanie przyrostowe, zapamiętywane osobno dla każdej linii.
odwrócona linia (Pan)
Cofnij wszystkie zmiany wprowadzone w tym wierszu. To jest jak wykonywanie anulować wystarczy rozkazać
razy, aby przywrócić linię do stanu początkowego.
tylda-rozwiń (M-&)
Wykonaj rozwinięcie tyldy na bieżącym słowie.
ustawić znak (C-@, M- )
Ustaw znak w punkcie. Jeśli podano argument liczbowy, znacznik jest ustawiony na
tej pozycji.
wymiana-punkt-i-mark (Cx Cx)
Zamień punkt ze znakiem. Aktualna pozycja kursora jest ustawiona na zapisaną
pozycji, a stara pozycja kursora jest zapisywana jako znacznik.
wyszukiwanie znaków (C-])
Znak jest odczytywany i punkt jest przesuwany do następnego wystąpienia tego znaku. A
ujemna liczba wyszukiwań poprzednich wystąpień.
wyszukiwanie znaków wstecz (MC-])
Znak jest odczytywany, a punkt jest przenoszony do poprzedniego wystąpienia tego
postać. Ujemna liczba wyszukuje kolejne wystąpienia.
pomiń-csi-sekwencja
Przeczytaj wystarczającą liczbę znaków, aby wykorzystać sekwencję z wieloma klawiszami, taką jak te zdefiniowane dla
klawisze takie jak Home i End. Takie sekwencje zaczynają się od wskaźnika sekwencji kontrolnej
(CSI), zwykle ESC-[. Jeśli ta sekwencja jest powiązana z "\[", klucze tworzące takie
sekwencje nie będą działać, chyba że zostaną wyraźnie powiązane z poleceniem readline,
zamiast wstawiać zbłąkane znaki do bufora edycji. To jest niezwiązane z
domyślny, ale zwykle powiązany z ESC-[.
wstaw komentarz (M-#)
Bez argumentu liczbowego wartość readline komentarz-początek zmienną jest
wstawiony na początku bieżącego wiersza. Jeśli podano argument liczbowy,
to polecenie działa jak przełącznik: jeśli znaki na początku wiersza nie
nie pasuje do wartości komentarz-początek, wartość jest wstawiana, w przeciwnym razie
znaki w komentarz-początek są usuwane od początku wiersza. W obu
przypadku, linia jest akceptowana tak, jakby została wpisana nowa linia. Domyślna wartość
komentarz-początek powoduje, że to polecenie powoduje, że bieżący wiersz jest komentarzem powłoki. Jeśli
argument numeryczny powoduje usunięcie znaku komentarza, linia będzie
wykonywane przez powłokę.
glob-kompletne-słowo (Mg)
Słowo przed punktem jest traktowane jako wzorzec rozwijania nazwy ścieżki, z
gwiazdka dołączona niejawnie. Ten wzorzec służy do generowania listy pasujących
nazwy plików dla możliwych uzupełnień.
glob-rozwiń-słowo (Cx *)
Słowo przed punktem jest traktowane jako wzorzec rozwijania ścieżki, a lista
pasujących nazw plików, zastępując słowo. Jeśli argumentem liczbowym jest
podana, przed rozwinięciem ścieżki dodawana jest gwiazdka.
rozszerzenia-glob-list (Cx g)
Lista rozszerzeń, które zostałyby wygenerowane przez glob-rozwiń-słowo is
wyświetlony, a linia zostanie narysowana ponownie. Jeśli podano argument liczbowy, gwiazdka
jest dodawany przed rozwinięciem ścieżki.
funkcje-zrzutu
Wydrukuj wszystkie funkcje i ich przypisania klawiszy do strumienia wyjściowego readline.
Jeśli podano argument liczbowy, dane wyjściowe są sformatowane w taki sposób, że:
może być częścią inputr plik.
zrzutu-zmienne
Wydrukuj wszystkie ustawialne zmienne readline i ich wartości do readline
strumień wyjściowy. Jeśli podano argument liczbowy, dane wyjściowe są formatowane w taki sposób
sposób, w jaki może być częścią inputr plik.
zrzut-makra
Wydrukuj wszystkie sekwencje klawiszy readline powiązane z makrami i łańcuchy, które one
wyjście. Jeśli podano argument liczbowy, dane wyjściowe są sformatowane w taki sposób
że może być częścią inputr plik.
wersja-powłoki-wyświetlacza (Cx CV)
Wyświetl informacje o wersji dotyczące bieżącego wystąpienia bash.

Programowalny Completion
Gdy podjęto próbę uzupełnienia słowa dla argumentu polecenia, dla którego uzupełnienie
specyfikacja (a spec.komp) został zdefiniowany za pomocą kompletny wbudowany (patrz SHELL WBUDOWANE
POLECENIA poniżej), wywoływane są programowalne funkcje uzupełniania.

Najpierw identyfikowana jest nazwa polecenia. Jeśli słowo polecenia jest pustym ciągiem
(próba uzupełnienia na początku pustej linii), dowolne compspec zdefiniowane za pomocą -E
opcja do kompletny jest używany. Jeśli dla tego polecenia zdefiniowano compspec, compspec
służy do generowania listy możliwych uzupełnień słowa. Jeśli słowo polecenia to
pełna ścieżka, najpierw szukany jest compspec dla pełnej ścieżki. Jeśli nie ma compspec
dla pełnej ścieżki zostanie znaleziona próba znalezienia compspec dla tej części
po ostatnim ukośniku. Jeśli te wyszukiwania nie dają w wyniku compspec, wszelkie compspec
zdefiniowany za pomocą -D opcja do kompletny jest używany domyślnie.

Po znalezieniu compspec, jest on używany do generowania listy pasujących słów. Jeśli
compspec nie zostało znalezione, wartość domyślna bash ukończenie jak opisano powyżej w Kończenie is
wykonane.

Najpierw używane są akcje określone przez compspec. Tylko dopasowania, które są poprzedzone
zwracane są uzupełniane słowa. Kiedy -f or -d opcja jest używana jako nazwa pliku lub
uzupełnianie nazw katalogów, zmienna powłoki FIGNORUJ służy do filtrowania dopasowań.

Wszelkie uzupełnienia określone przez wzorzec rozwijania nazwy ścieżki do -G opcje są generowane
Następny. Słowa generowane przez wzorzec nie muszą odpowiadać uzupełnianemu słowu. ten
GLOBIGNOR zmienna powłoki nie jest używana do filtrowania dopasowań, ale FIGNORUJ zmienną jest
używany.

Następnie ciąg określony jako argument do -W opcja jest brana pod uwagę. Ciąg jest
pierwszy podział za pomocą znaków w IFS zmienna specjalna jako ograniczniki. Cytowanie powłoki
jest honorowany. Każde słowo jest następnie interpretowane za pomocą rozwinięcia nawiasów klamrowych, rozwinięcia tyldy, parametru
oraz rozwinięcie zmiennych, podstawianie poleceń i rozwinięcie arytmetyczne, jak opisano powyżej
dla EKSPANSJA. Wyniki są dzielone zgodnie z zasadami opisanymi powyżej w słowo
Dzielenie. Wyniki rozszerzenia są dopasowywane przedrostkiem do słowa istota
zakończone, a pasujące słowa stają się możliwymi uzupełnieniami.

Po wygenerowaniu tych dopasowań każda funkcja powłoki lub polecenie określone za pomocą
-F i -C wywoływane są opcje. Po wywołaniu polecenia lub funkcji, COMP_LINE,
PUNKT_KOMPLETOWY, KOMP_KLUCZ, TYP_KOMPLETU zmienne mają przypisane wartości, jak opisano powyżej w
Powłoka Zmienne. Jeśli wywoływana jest funkcja powłoki, KOMP_WORDS i COMP_CWORD
zmienne są również ustawione. Po wywołaniu funkcji lub polecenia pierwszy argument ($1)
to nazwa polecenia, którego argumenty są uzupełniane, drugi argument ($2)
to słowo jest uzupełniane, a trzeci argument ($3) to słowo poprzedzające słowo
kończenie w bieżącym wierszu poleceń. Brak filtrowania wygenerowanych uzupełnień
przeciwko słowu, które jest uzupełniane; funkcja lub polecenie zostały zakończone
swoboda w generowaniu dopasowań.

Dowolna funkcja określona za pomocą -F jest wywoływany jako pierwszy. Funkcja może używać dowolnej powłoki
obiektów, w tym kompgen wbudowane opisane poniżej, aby wygenerować dopasowania. To
musi umieścić możliwe uzupełnienia w KOMPLETNIE zmienna tablicowa, jedna na element tablicy.

Następnie dowolne polecenie określone za pomocą -C opcja jest wywoływana w środowisku równoważnym do
podstawianie poleceń. Powinien wydrukować listę uzupełnień, po jednym w wierszu, do
standardowe wyjście. W razie potrzeby do zmiany znaku nowego wiersza można użyć odwrotnego ukośnika.

Po wygenerowaniu wszystkich możliwych uzupełnień każdy filtr określony za pomocą -X
opcja zostanie zastosowana do listy. Filtr jest wzorcem używanym do rozwijania nazw ścieżek; a
& we wzorze jest zastępowany tekstem uzupełnianego słowa. Dosłowny & może
uciec z odwrotnym ukośnikiem; odwrotny ukośnik jest usuwany przed próbą dopasowania. Każdy
uzupełnienie pasujące do wzorca zostanie usunięte z listy. Wiodący ! neguje
wzór; w takim przypadku wszelkie uzupełnienia nie pasujące do wzorca zostaną usunięte.

Na koniec dowolny prefiks i sufiks określony przez -P i -S opcje są dodawane do każdego
członek listy uzupełniania, a wynik jest zwracany do kodu uzupełniania readline
jako lista możliwych uzupełnień.

Jeśli poprzednio zastosowane działania nie generują żadnych dopasowań, a -o nazwy katalogów opcja
został dostarczony do kompletny kiedy compspec zostało zdefiniowane, uzupełnianie nazw katalogów to
próbował.

Jeśli -o pluskarty opcja została dostarczona do kompletny kiedy zdefiniowano compspec,
Podejmowana jest próba uzupełnienia nazwy katalogu, a wszelkie dopasowania są dodawane do wyników
inne akcje.

Domyślnie, jeśli compspec zostanie znalezione, cokolwiek wygeneruje, jest zwracane do uzupełnienia
kod jako pełny zestaw możliwych uzupełnień. Domyślny bash uzupełnienia nie są
podjęto próbę, a domyślne uzupełnianie nazw plików przez readline jest wyłączone. Jeśli -o
bashdomyślnie opcja została dostarczona do kompletny kiedy compspec zostało zdefiniowane, bash
Jeśli compspec nie wygeneruje żadnych dopasowań, podejmowane są próby uzupełnienia domyślnego. Jeśli -o domyślnym
opcja została dostarczona do kompletny kiedy compspec zostało zdefiniowane, domyślnie readline
zakończenie zostanie wykonane, jeśli compspec (i, jeśli zostanie podjęta próba, domyślny bash
uzupełnienia) nie generują żadnych dopasowań.

Gdy compspec wskazuje, że wymagane jest uzupełnianie nazw katalogów, programowalny
funkcje uzupełniania wymuszają na readline dodanie ukośnika do uzupełnionych nazw, które są
dowiązania symboliczne do katalogów, z zastrzeżeniem wartości katalogi mark Czytaj linię
zmienna, niezależnie od ustawienia katalogi z dowiązaniami symbolicznymi zmienna readline.

Istnieje pewne wsparcie dla dynamicznie modyfikowanych uzupełnień. Jest to najbardziej przydatne, gdy
używane w połączeniu z domyślnym uzupełnieniem określonym za pomocą kompletny -D. To jest możliwe
dla funkcji powłoki wykonywanych jako programy obsługi uzupełniania, aby wskazać, że uzupełnianie powinno być
ponawiana przez zwrócenie kodu zakończenia 124. Jeśli funkcja powłoki zwraca 124 i zmienia
compspec skojarzone z poleceniem, w którym próbuje się zakończyć (dostarczone)
jako pierwszy argument, gdy funkcja jest wykonywana), programowalne uzupełnianie uruchamia się ponownie
od początku, z próbą znalezienia nowego compspec dla tego polecenia. To pozwala
zestaw uzupełnień, które mają być budowane dynamicznie podczas próby uzupełnienia, a nie jako
załadowane wszystkie na raz.

Na przykład zakładając, że istnieje biblioteka compspecs, z których każdy jest przechowywany w pliku
odpowiadająca nazwie polecenia, następująca domyślna funkcja uzupełniania:
wczytuj uzupełnienia dynamicznie:

_completion_loader()
{
. "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
}
kompletny -D -F _completion_loader -o bashdefault -o domyślny

HISTORIA


Podczas -o historia opcja do zestaw wbudowane jest włączone, powłoka zapewnia dostęp do
komenda historia, lista wcześniej wpisanych poleceń. Wartość ROZMIAR HIST
zmienna jest używana jako liczba poleceń do zapisania na liście historii. Tekst
trwać ROZMIAR HIST polecenia (domyślnie 500) są zapisywane. Powłoka przechowuje każde polecenie w
lista historii przed rozszerzeniem parametrów i zmiennych (patrz EKSPANSJA powyżej), ale po
wykonywane jest rozwijanie historii, zależnie od wartości zmiennych powłoki HISTIGNOR
i KONTROLA HISTORII.

Podczas uruchamiania historia jest inicjowana z pliku nazwanego przez zmienną PLIK HIST
(domyślna ~ / .bash_historia). Plik nazwany wartością PLIK HIST jest obcięty, jeśli
konieczne, aby zawierały nie więcej niż liczbę wierszy określoną przez wartość
HISTROZMIARPLIKU. Jeśli HISTROZMIARPLIKU jest nieustawiona lub ustawiona na null, wartość nienumeryczna lub numeryczna
wartość mniejsza od zera, plik historii nie jest obcinany. Kiedy plik historii jest odczytywany,
wiersze zaczynające się od znaku komentarza historii, po którym następuje bezpośrednio cyfra są
interpretowane jako znaczniki czasu dla poprzedniego wiersza historii. Te sygnatury czasowe są opcjonalnie
wyświetlane w zależności od wartości HISTORIA FORMATU CZASU zmienny. Kiedy powłoka z
historia włączona wyjścia, ostatnie $HISTSIZE linie są kopiowane z listy historii do
$PLIK HIST, Jeśli histappend opcja powłoki jest włączona (patrz opis zakupy dla
SHELL WBUDOWANE POLECENIA poniżej), wiersze są dodawane do pliku historii, w przeciwnym razie
plik historii jest nadpisywany. Jeśli PLIK HIST jest nieustawiony lub jeśli plik historii nie jest zapisywalny,
historia nie jest zapisywana. Jeśli HISTORIA FORMATU CZASU zmienna jest ustawiona, zapisywane są znaczniki czasu
do pliku historii, oznaczonych znakiem komentarza historii, dzięki czemu mogą zostać zachowane
w sesjach powłoki. Używa znaku komentarza historii do rozróżniania znaczników czasu
z innych linii historii. Po zapisaniu historii plik historii jest obcinany do
zawierać nie więcej niż HISTROZMIARPLIKU linie. Gdyby HISTROZMIARPLIKU nie jest ustawiona lub ustawiona na null, nie-
wartość liczbowa lub wartość liczbowa mniejsza od zera, plik historii nie jest obcinany.

Wbudowane polecenie fc (Patrz SHELL WBUDOWANE POLECENIA poniżej) może służyć do wyświetlania listy lub edytowania i
ponownie wykonaj część listy historii. ten historia wbudowany może być używany do wyświetlania lub
modyfikować listę historii i manipulować plikiem historii. Korzystając z edycji z wiersza poleceń,
komendy wyszukiwania są dostępne w każdym trybie edycji, który zapewnia dostęp do historii
lista.

Powłoka pozwala kontrolować, które polecenia są zapisywane na liście historii. ten
KONTROLA HISTORII i HISTIGNOR zmienne mogą być ustawione tak, aby powłoka zapisywała tylko podzbiór
wprowadzonych poleceń. ten cmdhist opcja powłoki, jeśli jest włączona, powoduje, że powłoka:
spróbuj zapisać każdy wiersz polecenia wielowierszowego w tym samym wpisie historii, dodając
średniki tam, gdzie jest to konieczne, aby zachować poprawność składniową. ten litista opcja powłoki
powoduje, że powłoka zapisuje polecenie z osadzonymi znakami nowej linii zamiast średnikami. Widzieć
opis zakupy wbudowany poniżej pod SHELL WBUDOWANE POLECENIA po informacje na temat
ustawianie i rozbrajanie opcji powłoki.

HISTORIA EKSPANSJA


Powłoka obsługuje funkcję rozwijania historii, która jest podobna do interpretacji historii w
csz. W tej sekcji opisano dostępne funkcje składni. Ta funkcja jest włączona
domyślnie dla powłok interaktywnych i można je wyłączyć za pomocą +H opcja do zestaw
polecenie wbudowane (zobacz SHELL WBUDOWANE POLECENIA poniżej). Powłoki nieinteraktywne nie działają
domyślnie rozwijanie historii.

Rozszerzenia historii wprowadzają słowa z listy historii do strumienia wejściowego, dzięki czemu
łatwe do powtórzenia polecenia, wstaw argumenty poprzedniego polecenia do bieżącego wejścia
lub szybko naprawić błędy w poprzednich poleceniach.

Interpretacja historii jest wykonywana natychmiast po odczytaniu całej linii, przed powłoką
dzieli to na słowa. Odbywa się w dwóch częściach. Pierwszym z nich jest określenie, która linia
z listy historii do użycia podczas zastępowania. Drugim jest wybranie porcji
tę linię do włączenia do obecnej. Linia wybrana z historii to
wydarzenie, a części tej linii, na które działają, są słowa. Różny modyfikatory jest
dostępne do manipulowania wybranymi słowami. Linia jest podzielona na słowa w tym samym
moda jak przy odczycie danych wejściowych, tak aby kilka metaznak-oddzielone słowa otoczone
cytaty są traktowane jako jedno słowo. Rozszerzenia historii są wprowadzane przez pojawienie się
charakter ekspansji historii, który jest ! domyślnie. Tylko odwrotny ukośnik (\) i singiel
cudzysłowy mogą cytować znak rozszerzenia historii.

Kilka znaków uniemożliwia rozwijanie historii, jeśli zostanie znaleziony bezpośrednio po historii
znak rozwinięcia, nawet jeśli nie jest cytowany: spacja, tabulator, znak nowej linii, powrót karetki i =.
Jeśli extglob włączona opcja powłoki, ( zahamuje również ekspansję.

Kilka opcji powłoki można ustawić za pomocą zakupy wbudowany może być użyty do dostosowania zachowania
ekspansji historii. Jeśli histweryfikacja opcja powłoki jest włączona (patrz opis
dotychczasowy zakupy wbudowany poniżej) i Czytaj linię jest używany, zamienniki historii nie są
natychmiast przekazywane do parsera powłoki. Zamiast tego rozszerzona linia jest ponownie ładowana do
Czytaj linię edycja bufora do dalszej modyfikacji. Jeśli Czytaj linię jest używany, a
edytuj historię opcja powłoki jest włączona, nieudana zamiana historii zostanie przeładowana do
dotychczasowy Czytaj linię edycyjny bufor do korekty. ten -p opcja do historia wbudowane polecenie
może służyć do sprawdzenia, co zrobi rozwinięcie historii przed jego użyciem. ten -s opcja do
historia wbudowany może być użyty do dodawania poleceń na końcu listy historii bez
faktycznie je wykonując, aby były dostępne do późniejszego przywołania.

Powłoka umożliwia kontrolę nad różnymi znakami używanymi przez mechanizm rozszerzania historii
(patrz opis histchary powyżej pod Powłoka Zmienne). Powłoka wykorzystuje
znak komentarza historii do oznaczania znaczników czasu historii podczas zapisywania pliku historii.

wydarzenie Desygnatory
Desygnator zdarzenia to odniesienie do wpisu wiersza poleceń na liście historii. Chyba że
odniesienie jest bezwzględne, zdarzenia odnoszą się do aktualnej pozycji w historii
lista.

! Rozpocznij zastępowanie historii, chyba że następuje po nim pusty, nowa linia, karetka
return, = lub ( (gdy extglob opcja powłoki jest włączona za pomocą zakupy wbudowany).
!n Zobacz wiersz poleceń n.
!-n Odnieś się do aktualnego polecenia minus n.
!! Odnieś się do poprzedniego polecenia. To jest synonim `!-1'.
!ciąg
Odwołaj się do ostatniego polecenia poprzedzającego bieżącą pozycję na liście historii
zaczynając od ciąg.
!?ciąg[?]
Odwołaj się do ostatniego polecenia poprzedzającego bieżącą pozycję na liście historii
zawierające ciąg. Końcowe ? można pominąć, jeśli ciąg jest śledzony natychmiast
o nową linię.
^string1^string2^
Szybka zamiana. Powtórz poprzednie polecenie, zastępując string1 w string2.
Odpowiednik ``!!:s/string1/string2/'' (zobaczyć modyfikatory poniżej).
!# Jak dotąd wpisano całą linię poleceń.

słowo Desygnatory
Desygnatory słów służą do wybierania żądanych słów ze zdarzenia. A : oddziela wydarzenie
specyfikacja z desygnatora słowa. Można go pominąć, jeśli zaczyna się desygnator słowa
z ^, $, *, -lub %. Słowa są numerowane od początku wiersza, przy czym
pierwsze słowo oznaczane przez 0 (zero). Słowa są wstawiane do bieżącego wiersza rozdzielone
o pojedyncze spacje.

0 (zero)
Zerowe słowo. Dla powłoki jest to słowo polecenia.
n Połączenia nsłowo.
^ Pierwszy argument. To znaczy słowo 1.
$ Ostatnie słowo. Jest to zwykle ostatni argument, ale rozwinie się do zera
słowo, jeśli w linii jest tylko jedno słowo.
% Słowo dopasowane do ostatniego `?ciąg? Szukaj.
x-y Szereg słów; `-y' jest skrótem `0-y'.
* Wszystkie słowa oprócz zera. To jest synonim słowa `1- $„. To nie jest błąd
w użyciu * jeśli w zdarzeniu jest tylko jedno słowo; pusty ciąg jest zwracany w
ta walizka.
x* Skróty x-$.
x- Skróty x-$ lubić x*, ale pomija ostatnie słowo.

Jeśli desygnator słowa jest podany bez specyfikacji zdarzenia, poprzednie polecenie to
używany jako wydarzenie.

modyfikatory
Po opcjonalnym desygnatorze słowa może pojawić się sekwencja jednego lub więcej
następujące modyfikatory, każdy poprzedzony ':'.

h Usuń końcowy składnik nazwy pliku, pozostawiając tylko nagłówek.
t Usuń wszystkie wiodące komponenty nazw plików, pozostawiając ogon.
r Usuń końcowy przyrostek formularza Xxx., pozostawiając nazwę bazową.
e Usuń wszystko oprócz końcowego przyrostka.
p Wydrukuj nowe polecenie, ale go nie wykonuj.
q Cytuj podstawione słowa, unikając dalszych podstawień.
x Cytuj podstawione słowa jak w przypadku q, ale podziel się słowami w puste miejsca i nowe wiersze.
s/stary/nowa/
namiastka nowa dla pierwszego wystąpienia stary w linii zdarzeń. Dowolny ogranicznik
może być użyty zamiast /. Ostatni ogranicznik jest opcjonalny, jeśli jest ostatnim
charakter linii zdarzenia. Ogranicznik może być cytowany w stary i nowa z
pojedynczy ukośnik odwrotny. Jeśli & pojawia się w nowa, zostaje zastąpiony przez stary. Pojedynczy ukośnik odwrotny
zacytuje &. Jeśli stary jest null, jest ustawiony na ostatni stary podstawiony lub, jeśli nie
poprzednie zmiany historii miały miejsce, ostatnie ciąg w !?ciąg[?]
sprawdzić.
& Powtórz poprzednie podstawienie.
g Spraw, aby zmiany zostały zastosowane w całej linii zdarzeń. To jest używane w
w połączeniu z `:s' (np. `:gs/stary/nowa/') lub `:&„. Jeśli jest używany z `:s', każdy
separator może być użyty zamiast /, a końcowy separator jest opcjonalny, jeśli jest
ostatni znak wiersza zdarzenia. jakiś a może być używany jako synonim słowa g.
G Zastosuj następujące `s' modyfikator raz na każde słowo w wierszu zdarzenia.

SHELL WBUDOWANE POLECENIA


O ile nie zaznaczono inaczej, każde wbudowane polecenie udokumentowane w tej sekcji jako akceptujące
opcje poprzedzone - akceptuje -- aby oznaczyć koniec opcji. ten :, prawdziwy, fałszywy,
i test wbudowane nie akceptują opcji i nie traktują -- specjalnie. ten wyjście, wyloguj się,
złamać, kontynuować, niech, przesunięcie wbudowane akceptują i przetwarzają argumenty zaczynające się od -
bez wymagania --. Inne wbudowane, które akceptują argumenty, ale nie są określone jako
akceptowanie opcji interpretuje argumenty zaczynające się od - jako nieprawidłowe opcje i wymagają --
aby zapobiec takiej interpretacji.
: [argumenty]
Bez efektu; polecenie nie robi nic poza rozszerzeniem argumenty i wykonując dowolne
określone przekierowania. Zwracany jest zerowy kod wyjścia.

. filename [argumenty]
źródło filename [argumenty]
Czytaj i wykonuj polecenia z filename w obecnym środowisku powłoki i powrót
kod wyjścia ostatniego polecenia wykonanego z filename. Jeśli filename nie
zawierają ukośnik, nazwy plików w PATH są używane do znalezienia katalogu zawierającego
filename. Szukany plik w PATH nie musi być wykonywalny. Kiedy bash nie jest
in posix tryb, bieżący katalog jest przeszukiwany, jeśli nie znaleziono pliku w PATH. Jeśli
dotychczasowy ścieżka źródłowa opcja do zakupy wbudowane polecenie jest wyłączone, PATH nie jest
wyszukiwane. Jeśli w ogóle argumenty są dostarczane, stają się parametrami pozycyjnymi
jeśli chodzi o komunikację i motywację filename jest wykonywany. W przeciwnym razie parametry pozycyjne pozostają niezmienione. ten
status powrotu jest statusem ostatniego polecenia zakończonego w skrypcie (0 jeśli nie
polecenia są wykonywane) i false, jeśli filename nie został znaleziony lub nie można go odczytać.

alias [-p] [Nazwa[=wartość] ...]
Alias bez argumentów lub z -p opcja wypisuje listę aliasów w
Nasz formularz alias Nazwa=wartość na standardowym wyjściu. Gdy podane są argumenty, alias to
zdefiniowany dla każdego Nazwa którego wartość jest podawany. Końcowa przestrzeń w wartość powoduje
następne słowo do sprawdzenia pod kątem podstawienia aliasu, gdy alias jest rozwijany. Do
każdy Nazwa na liście argumentów, dla których nie wartość jest podana, nazwa i wartość
aliasu jest drukowany. Alias zwraca prawdę, chyba że a Nazwa podano, dla którego nie
alias został zdefiniowany.

bg [specyfikacja pracy ...]
Wznów każdą zawieszoną pracę specyfikacja pracy w tle, jakby to było rozpoczęte od
&. Jeśli specyfikacja pracy nie występuje, pojęcie powłoki aktualne praca Jest używane. bg
specyfikacja pracy zwraca 0, chyba że jest uruchamiany, gdy kontrola zadań jest wyłączona lub, gdy jest uruchamiana z zadaniem
kontrola włączona, dowolny określony specyfikacja pracy nie został znaleziony lub został uruchomiony bez pracy
kontrola.

związania [-m mapa klawiszy] [-lpsvPSVX]
związania [-m mapa klawiszy] [-q funkcjonować] [-u funkcjonować] [-r sekw.klawiszy]
związania [-m mapa klawiszy] -f filename
związania [-m mapa klawiszy] -x sekw.klawiszy:polecenie powłoki
związania [-m mapa klawiszy] sekw.klawiszy:nazwa funkcji
związania polecenie-readline
Wyświetl prąd Czytaj linię powiązania klawiszy i funkcji, przypisz sekwencję klawiszy do a
Czytaj linię funkcja lub makro, lub ustaw a Czytaj linię zmienny. Każdy argument nie będący opcją
jest poleceniem takim, jakie wyglądałoby w .wejście, ale każde wiązanie lub polecenie musi być
przekazany jako osobny argument; np. '"\Cx\Cr": ponownie odczytaj-plik-inicjujący'. Opcje, jeśli
dostarczone, mają następujące znaczenie:
-m mapa klawiszy
Zastosowanie mapa klawiszy jako mapa klawiszy, na którą mają wpływ kolejne wiązania.
Do przyjęcia mapa klawiszy imiona to emacs, standardowy emacs, emacs-meta, emacs-ctlx,
Ty, vi-ruch, vi-komenda, vi-wstaw. vi odpowiada vi-komenda;
emacs odpowiada standard emacs.
-l Wymień nazwy wszystkich Czytaj linię funkcje.
-p Wyświetlacz Czytaj linię nazwy funkcji i powiązania w taki sposób, aby mogły być
ponownie przeczytać.
-P Lista aktualna Czytaj linię nazwy i powiązania funkcji.
-s Wyświetlacz Czytaj linię sekwencje klawiszy powiązane z makrami i ciągi, które wyprowadzają
w taki sposób, aby można je było ponownie przeczytać.
-S Wyświetlacz Czytaj linię sekwencje klawiszy powiązane z makrami i wyprowadzane przez nie ciągi.
-v Wyświetlacz Czytaj linię nazwy i wartości zmiennych w taki sposób, aby mogły być
ponownie przeczytać.
-V Lista aktualna Czytaj linię nazwy i wartości zmiennych.
-f filename
Czytaj powiązania klawiszy z filename.
-q funkcjonować
Zapytanie o to, które klawisze wywołują named funkcjonować.
-u funkcjonować
Odłącz wszystkie klucze przypisane do named funkcjonować.
-r sekw.klawiszy
Usuń wszelkie bieżące powiązania dla sekw.klawiszy.
-x sekw.klawiszy:polecenie powłoki
Spowodować polecenie powłoki do egzekucji kiedykolwiek sekw.klawiszy jest wprowadzony. Kiedy
polecenie powłoki jest wykonywany, powłoka ustawia READLINE_LINE zmienna do
zawartość Czytaj linię bufor linii i READLINE_POINT zmienna do
bieżąca lokalizacja punktu wstawiania. Jeśli wykonane polecenie zmieni się
wartość READLINE_LINE or READLINE_POINT, te nowe wartości będą
odzwierciedlone w stanie edycji.
-X Wymień wszystkie sekwencje klawiszy związane z poleceniami powłoki i powiązanymi poleceniami
w formacie, który można ponownie wykorzystać jako dane wejściowe.

Zwracana wartość to 0, chyba że podano nierozpoznaną opcję lub wystąpił błąd.

złamać [n]
Wyjdź z wnętrza a dla, Podczas, aż dolub wybierać pętla. Gdyby n jest określony, przerwa n
poziomach. n musi być ≥ 1. Jeśli n jest większa niż liczba otaczających pętli, wszystkie
zamykające pętle są zamykane. Zwracana wartość to 0, chyba że n nie jest większe niż lub
równy 1.

wbudowany wbudowany w powłokę [argumenty]
Wykonaj określone wbudowane polecenie powłoki, przekazując je argumentyi zwróć jego wyjście
status. Jest to przydatne podczas definiowania funkcji, której nazwa jest taka sama jak powłoka
wbudowany, zachowując funkcjonalność wbudowanego w ramach funkcji. ten cd
builtin jest powszechnie redefiniowany w ten sposób. Zwrócony status jest fałszywy, jeśli
wbudowany w powłokę nie jest wbudowanym poleceniem powłoki.

dzwoniący [expr]
Zwraca kontekst każdego aktywnego wywołania podprogramu (funkcji powłoki lub skryptu)
wykonane z . or źródło wbudowane). Bez expr, dzwoniący wyświetla linię
numer i nazwa pliku źródłowego bieżącego wywołania podprogramu. Jeśli wynik nieujemny
liczba całkowita jest podana jako expr, dzwoniący wyświetla numer linii, nazwę podprogramu i
plik źródłowy odpowiadający tej pozycji w bieżącym stosie wywołań wykonania.
Te dodatkowe informacje można wykorzystać na przykład do wydrukowania śladu stosu. ten
bieżąca ramka to ramka 0. Zwracana wartość to 0, chyba że powłoka nie działa
wywołanie podprogramu lub expr nie odpowiada prawidłowej pozycji w wywołaniu
stos.

cd [-L|[-P [-e]] [-@]] [reż]
Zmień bieżący katalog na reż. gdyby reż nie podano, wartość HOME
domyślna jest zmienna powłoki. Wszelkie dodatkowe argumenty następujące reż są ignorowane.
Zmienna CDPATH definiuje ścieżkę wyszukiwania katalogu zawierającego reż: każdy
nazwa katalogu w CDPATH jest wyszukiwane reż. Alternatywne nazwy katalogów w
CDPATH są oddzielone dwukropkiem (:). Pusta nazwa katalogu w CDPATH jest takie samo
jako katalog bieżący, tj. ``.''. Jeśli reż zaczyna się od ukośnika (/), następnie CDPATH
nie jest używany. Plik -P Przyczyny opcji cd używać fizycznej struktury katalogów przez
rozwiązywanie dowiązań symbolicznych podczas przechodzenia reż a przed przetwarzaniem przypadków ..
in reż (patrz także -P opcja do zestaw wbudowane polecenie); ten -L siły opcji
dowiązania symboliczne, po których nastąpi rozwiązanie dowiązania po przetworzeniu instancji
.. in reż. Jeśli .. pojawia się w reż, jest przetwarzany poprzez natychmiastowe usunięcie
poprzedni składnik ścieżki z reż, wróć do ukośnika lub początku reż. Jeśli
dotychczasowy -e opcja jest dostarczana z -P, a bieżący katalog roboczy nie może być
pomyślnie ustalone po udanej zmianie katalogu, cd wróci i
nieudany status. W systemach, które to obsługują, -@ opcja przedstawia
rozszerzone atrybuty związane z plikiem jako katalogiem. Argument - is
zamienione na $OLDPWD przed próbą zmiany katalogu. Jeśli nie jest pusty
nazwa katalogu z CDPATH jest używany, lub jeśli - jest pierwszym argumentem, a
zmiana katalogu powiodła się, bezwzględna ścieżka dostępu do nowego katalogu roboczego
jest wypisywany na standardowe wyjście. Zwracana wartość jest prawdziwa, jeśli katalog był
pomyślnie zmieniony; fałsz inaczej.

komenda [-pVv] komenda [arg ...]
run komenda w args pominięcie normalnego wyszukiwania funkcji powłoki. Tylko wbudowane
polecenia lub polecenia znalezione w PATH są wykonywane. Jeśli -p podana jest opcja,
poszukiwanie komenda jest wykonywana przy użyciu domyślnej wartości dla PATH to jest
gwarantuje znalezienie wszystkich standardowych narzędzi. Jeśli -V or -v Jest opcja
dostarczony, opis komenda jest drukowany. ten -v opcja powoduje jedno słowo
wskazując polecenie lub nazwę pliku użytego do wywołania komenda do wyświetlenia; ten -V
opcja tworzy bardziej szczegółowy opis. Jeśli -V or -v opcja jest dostarczana,
kod wyjścia to 0, jeśli komenda został znaleziony, a 1 jeśli nie. Jeśli żadna opcja nie jest
dostarczony i wystąpił błąd lub komenda nie można znaleźć, kod wyjścia to 127.
W przeciwnym razie status wyjścia komenda wbudowany jest kodem wyjścia komenda.

kompgen [opcja] [słowo]
Wygeneruj możliwe dopasowania dopełnienia dla słowo według opcjas, co może
być dowolną opcją zaakceptowaną przez kompletny wbudowany z wyjątkiem -p i -r,
wypisz dopasowania na standardowe wyjście. Podczas korzystania z -F or -C opcje,
różne zmienne powłoki ustawiane przez programowalne narzędzia uzupełniania, podczas gdy
dostępne, nie będą miały użytecznych wartości.

Dopasowania będą generowane w taki sam sposób, jak w przypadku programowalnego uzupełnienia
kod wygenerował je bezpośrednio ze specyfikacji uzupełnienia z tym samym
flagi. Gdyby słowo jest określony, tylko te uzupełnienia pasujące słowo będzie
wystawiany.

Zwracana wartość to prawda, chyba że podano nieprawidłową opcję lub nie znaleziono dopasowań
wygenerowane.

kompletny [-abcdefgjksuv] [-o opcja komp] [-DE] [-A akcja] [-G globpat] [-W Lista słów] [-F
funkcjonować] [-C komenda]
[-X filtr] [-P prefiks] [-S przyrostek] Nazwa [Nazwa ...]
kompletny -pr [-DE] [Nazwa ...]
Określ, w jaki sposób argumenty do każdego Nazwa należy wypełnić. Jeśli -p Jest opcja
dostarczone, lub jeśli nie są dostarczane żadne opcje, istniejące specyfikacje ukończenia są
drukowane w sposób, który pozwala na ich ponowne wykorzystanie jako dane wejściowe. ten -r opcja usuwa a
specyfikacja ukończenia dla każdego Nazwa, lub, jeśli nie Nazwas są dostarczane, wszystkie
specyfikacje ukończenia. ten -D opcja wskazuje, że pozostałe opcje i
akcje powinny dotyczyć "domyślnego" zakończenia polecenia; czyli zakończenie
podjęto próbę wykonania polecenia, dla którego wcześniej nie zdefiniowano uzupełnienia. ten -E
opcja wskazuje, że pozostałe opcje i akcje powinny dotyczyć "pustych"
uzupełnianie poleceń; czyli próba zakończenia w pustym wierszu.

Proces stosowania tych specyfikacji uzupełniania, gdy uzupełnianie słów jest
próba jest opisana powyżej w Programowalny Completion.

Inne opcje, jeśli zostały określone, mają następujące znaczenie. Argumenty do -G,
-W, -X opcje (i, jeśli to konieczne, -P i -S opcje) należy zacytować do
chronić je przed ekspansją przed kompletny Wywoływany jest wbudowany.
-o opcja komp
Połączenia opcja komp kontroluje kilka aspektów zachowania compspec poza
proste generowanie uzupełnień. opcja komp może być jednym z:
bashdomyślnie
Wykonaj resztę domyślnych bash uzupełnienia, jeśli compspec
nie generuje żadnych dopasowań.
domyślnym Użyj domyślnego uzupełniania nazw plików readline, jeśli compspec
nie generuje żadnych dopasowań.
nazwy katalogów
Wykonaj uzupełnianie nazw katalogów, jeśli compspec wygeneruje no
mecze.
nazwy plików
Powiedz readline, że compspec generuje nazwy plików, więc może
wykonać dowolne przetwarzanie specyficzne dla nazwy pliku (takie jak dodanie ukośnika do
nazwy katalogów, cytowanie znaków specjalnych lub pomijanie
spacje końcowe). Przeznaczony do użytku z funkcjami powłoki.
Bez cytatu Powiedz readline, aby nie cytowała wypełnionych słów, jeśli tak jest
nazwy plików (domyślne jest cytowanie nazw plików).
nie ma miejsca Powiedz readline, aby nie dodawała spacji (domyślnie) do słów
zakończone na końcu linii.
pluskarty
Po wygenerowaniu dowolnych dopasowań zdefiniowanych przez compspec, directory
Podejmowana jest próba uzupełnienia nazwy, a wszelkie dopasowania są dodawane do
wyniki innych działań.
-A akcja
Połączenia akcja może być jednym z poniższych, aby wygenerować listę możliwych
uzupełnienia:
alias Nazwy pseudonimów. Może być również określony jako -a.
zmienna tablicy
Nazwy zmiennych tablicowych.
wiążący readline nazwy wiązań klawiszy.
wbudowany Nazwy poleceń wbudowanych powłoki. Może być również określony jako -b.
komenda Nazwy poleceń. Może być również określony jako -c.
katalog
Nazwy katalogów. Może być również określony jako -d.
niepełnosprawny
Nazwy wyłączonych wbudowanych poleceń powłoki.
włączony Nazwy włączonych wbudowanych poleceń powłoki.
eksport Nazwy eksportowanych zmiennych powłoki. Może być również określony jako -e.
filet Nazwy plików. Może być również określony jako -f.
funkcjonować
Nazwy funkcji powłokowych.
grupa Nazwy grup. Może być również określony jako -g.
Temat pomocy
Tematy pomocy zaakceptowane przez pomoc wbudowany.
hosta
Nazwy hostów pobrane z pliku określonego przez PLIK HOST powłoka
zmienna.
praca Nazwy zadań, jeśli kontrola zadań jest aktywna. Może być również określony jako -j.
keyword Zastrzeżone słowa powłoki. Może być również określony jako -k.
bieganie Nazwy uruchomionych zadań, jeśli kontrola zadań jest aktywna.
usługa Nazwy usług. Może być również określony jako -s.
ustawienie Prawidłowe argumenty za -o opcja do zestaw wbudowany.
zakupy Nazwy opcji powłoki zaakceptowane przez zakupy wbudowany.
sygnał Nazwy sygnałów.
zatrzymany Nazwy zatrzymanych zadań, jeśli kontrola zadań jest aktywna.
użytkownik Nazwy użytkowników. Może być również określony jako -u.
zmienna
Nazwy wszystkich zmiennych powłoki. Może być również określony jako -v.
-C komenda
komenda jest wykonywany w środowisku podpowłoki, a jego dane wyjściowe są używane jako
możliwe uzupełnienia.
-F funkcjonować
Funkcja powłoki funkcjonować jest wykonywany w bieżącym środowisku powłoki.
Gdy funkcja jest wykonywana, pierwszy argument ($1) to nazwa
polecenie, którego argumenty są uzupełniane, drugi argument ($2) jest
słowo jest uzupełniane, a trzeci argument ($3) to słowo poprzedzające
słowo jest uzupełniane w bieżącym wierszu poleceń. Kiedy się skończy,
możliwe uzupełnienia są pobierane z wartości KOMPLETNIE
zmienna tablicowa.
-G globpat
Wzorzec rozwijania nazwy ścieżki globpat jest rozwijany, aby generować możliwe
ukończenia.
-P prefiks
prefiks jest dodawany na początku każdego możliwego uzupełnienia mimo wszystko
zastosowano inne opcje.
-S przyrostek
przyrostek jest dołączany do każdego możliwego uzupełnienia po tym, jak wszystkie inne opcje mają
został zastosowany.
-W Lista słów
Połączenia Lista słów jest podzielony za pomocą znaków w IFS zmienna specjalna as
ograniczniki, a każde wynikowe słowo jest rozwijane. Możliwe uzupełnienia
są członkami wynikowej listy, które pasują do uzupełnianego słowa.
-X filtr
filtr jest wzorcem używanym do rozwijania nazw ścieżek. Jest stosowany do
listę możliwych uzupełnień wygenerowanych przez poprzednie opcje i
argumenty i każde dopasowanie dopełnienia filtr zostanie usunięty z listy.
Wiodący ! in filtr neguje wzór; w tym przypadku wszelkie uzupełnienia
nie pasuje filtr jest usunięty.

Zwracana wartość to prawda, chyba że podano nieprawidłową opcję, opcję inną niż
-p or -r jest dostarczany bez Nazwa argument, podjęto próbę usunięcia
specyfikacja ukończenia dla Nazwa dla których brak specyfikacji lub błąd
następuje dodanie specyfikacji uzupełnienia.

kompot [-o opcja] [-DE] [+o opcja] [Nazwa]
Zmodyfikuj opcje ukończenia dla każdego Nazwa według opcjas, lub dla
aktualnie wykonywane zakończenie, jeśli nie Nazwasą dostarczane. Jeśli nie opcjas są podane,
wyświetlić opcje ukończenia dla każdego Nazwa lub aktualne zakończenie. ten
możliwe wartości opcja czy są one ważne dla kompletny wbudowane opisane powyżej.
Połączenia -D opcja wskazuje, że pozostałe opcje powinny dotyczyć ``domyślnego''
uzupełnianie poleceń; czyli próba zakończenia polecenia, dla którego nie
zakończenie zostało wcześniej zdefiniowane. ten -E opcja wskazuje, że pozostałe
opcje powinny dotyczyć "pustego" uzupełniania polecenia; czyli próba ukończenia
w pustym wierszu.

Zwracana wartość to prawda, chyba że podano nieprawidłową opcję, podjęto próbę
aby zmodyfikować opcje dla Nazwa dla których nie istnieje specyfikacja ukończenia, lub
wystąpił błąd wyjścia.

kontynuować [n]
Wznów następną iterację załączania dla, Podczas, aż dolub wybierać pętla. Gdyby n
jest określony, wznów o nzamykająca pętla. n musi być ≥ 1. Jeśli n jest wspanialszy
niż liczba otaczających pętli, ostatnia obejmująca pętla ("najwyższy poziom"
pętla) jest wznawiane. Zwracana wartość to 0, chyba że n nie jest większe ani równe
1.

ogłosić [-aAfFgilnrtux] [-p] [Nazwa[=wartość] ...]
skład [-aAfFgilnrtux] [-p] [Nazwa[=wartość] ...]
Zadeklaruj zmienne i/lub nadaj im atrybuty. Jeśli nie Nazwas są podane, a następnie wyświetl
wartości zmiennych. ten -p opcja wyświetli atrybuty i wartości
każdy Nazwa. Kiedy -p jest używany z Nazwa argumenty, dodatkowe opcje, inne niż -f
i -F, są ignorowane. Kiedy -p jest dostarczany bez Nazwa argumenty, wyświetli
atrybuty i wartości wszystkich zmiennych posiadających atrybuty określone przez
Dodatkowe opcje. Jeśli nie są dostarczane żadne inne opcje -p, ogłosić wyświetli
atrybuty i wartości wszystkich zmiennych powłoki. ten -f opcja ograniczy
wyświetlanie do funkcji powłoki. ten -F opcja blokuje wyświetlanie funkcji
definicje; wypisywana jest tylko nazwa funkcji i jej atrybuty. Jeśli extdebug
opcja powłoki jest włączona za pomocą zakupy, nazwa pliku źródłowego i numer wiersza, gdzie
zdefiniowana funkcja są również wyświetlane. ten -F opcja implikuje -f, -g
opcja wymusza tworzenie lub modyfikowanie zmiennych w zasięgu globalnym, nawet gdy
ogłosić jest wykonywany w funkcji powłoki. Jest ignorowany we wszystkich innych przypadkach. ten
następujące opcje mogą być użyte do ograniczenia danych wyjściowych do zmiennych z określonym
atrybut lub nadać zmiennym atrybuty:
-a Każdy Nazwa jest indeksowaną zmienną tablicową (zobacz Tablice powyżej).
-A Każdy Nazwa jest zmienną tablicową asocjacyjną (patrz Tablice powyżej).
-f Używaj tylko nazw funkcji.
-i Zmienna jest traktowana jako liczba całkowita; ocena arytmetyczna (patrz ARYTMETYKA
OCENA powyżej) jest wykonywane, gdy zmienna ma przypisaną wartość.
-l Gdy zmienna ma przypisaną wartość, wszystkie wielkie litery są
konwertowane na małe litery. Atrybut wielkich liter jest wyłączony.
-n Daj każdemu Nazwa dotychczasowy nazwaref atrybut, co czyni go odwołaniem do nazwy innego
zmienny. Ta druga zmienna jest zdefiniowana przez wartość Nazwa. Wszystko
referencje i zadania do Nazwa, z wyjątkiem zmiany -n atrybut
są wykonywane na zmiennej, do której odwołuje się Nazwawartość. ten -n
atrybut nie może być zastosowany do zmiennych tablicowych.
-r Spraw, żeby Nazwas tylko do odczytu. Nazwom tym nie można wtedy przypisać wartości za pomocą
kolejne deklaracje przypisania lub rozbrojone.
-t Daj każdemu Nazwa dotychczasowy wyśledzić atrybut. Śledzone funkcje dziedziczą DEBUG i
POWRÓT pułapki z wywołującej powłoki. Atrybut śledzenia nie ma żadnych specjalnych
znaczenie dla zmiennych.
-u Gdy zmienna ma przypisaną wartość, wszystkie małe litery są
konwertowane na wielkie litery. Atrybut małych liter jest wyłączony.
-x Mark Nazwas do eksportu do kolejnych poleceń za pośrednictwem środowiska.

Użycie `+' zamiast `-' powoduje wyłączenie atrybutu, z wyjątkami, które
+a nie może być używany do niszczenia zmiennej tablicowej i +r nie usunie tylko do odczytu
atrybut. W przypadku użycia w funkcji, ogłosić i skład zrób każdy Nazwa lokalny, jak
z miejscowy polecenie, chyba że -g opcja jest dostarczana. Jeśli nazwa zmiennej to
po którym następuje =wartość, wartość zmiennej jest ustawiona na wartość. Podczas używania -a or -A
oraz składnia przypisania złożonego do tworzenia zmiennych tablicowych, dodatkowych atrybutów
nie wchodzą w życie do czasu kolejnych przydziałów. Zwracana wartość to 0, chyba że
napotkano nieprawidłową opcję, podjęto próbę zdefiniowania funkcji za pomocą ``-f
foo=bar'', podejmowana jest próba przypisania wartości do zmiennej tylko do odczytu, próba
ma na celu przypisanie wartości do zmiennej tablicowej bez użycia związku
składnia przypisania (patrz Tablice powyżej), jeden z Nazwy nie jest prawidłową powłoką
nazwa zmiennej, podejmowana jest próba wyłączenia statusu readonly dla readonly
zmienna, podejmowana jest próba wyłączenia statusu tablicy dla zmiennej tablicowej lub
podejmowana jest próba wyświetlenia nieistniejącej funkcji za pomocą -f.

dirs [-clpv] [+n] [-n]
Bez opcji wyświetla listę aktualnie zapamiętanych katalogów. ten
domyślny wyświetlacz jest w jednym wierszu z nazwami katalogów oddzielonymi spacjami.
Katalogi są dodawane do listy za pomocą pushd Komenda; ten popd polecenie usuwa
wpisy z listy.
-c Czyści stos katalogów, usuwając wszystkie wpisy.
-l Tworzy zestawienie przy użyciu pełnych nazw ścieżek; domyślny format aukcji używa
tylda oznaczająca katalog domowy.
-p Wydrukuj stos katalogów z jednym wpisem w wierszu.
-v Wydrukuj stos katalogów z jednym wpisem w wierszu, poprzedzając każdy wpis znakiem
jego indeks w stosie.
+n Wyświetla n-ty wpis licząc od lewej strony listy pokazywanej przez dirs jeśli chodzi o komunikację i motywację
wywoływane bez opcji, zaczynając od zera.
-n Wyświetla n-ty wpis licząc od prawej strony listy pokazywanej przez dirs
po wywołaniu bez opcji, zaczynając od zera.

Zwracana wartość to 0, chyba że podano nieprawidłową opcję lub n indeksy poza
koniec stosu katalogów.

zapierać się [-ar] [-h] [specyfikacja pracy ...]
Bez opcji usuń każdy specyfikacja pracy z tabeli aktywnych miejsc pracy. Jeśli specyfikacja pracy is
nie występuje, ani -a ani -r opcja jest dostarczana, aktualne praca is
używany. Jeśli -h opcja jest podana, każda specyfikacja pracy nie jest usuwany ze stołu, ale
jest oznaczony tak, że ZGŁOSZENIE nie jest wysyłany do zadania, jeśli powłoka odbierze ZGŁOSZENIE. Jeśli
Nie specyfikacja pracy jest dostarczany, -a opcja oznacza usunięcie lub zaznaczenie wszystkich zadań; ten -r
opcja bez specyfikacja pracy argument ogranicza operację do uruchomionych zadań. Powrót
wartość wynosi 0, chyba że a specyfikacja pracy nie określa prawidłowego zadania.

przegapić [-z domu] [arg ...]
Wyjście args, oddzielone spacjami, po których następuje znak nowej linii. Status zwrotu to
0, chyba że wystąpi błąd zapisu. Jeśli -n jest określony, końcowy znak nowej linii to
zduszony. Jeśli -e podana jest opcja, interpretacja następującego odwrotnego ukośnika-
znaki ucieczki są włączone. ten -E opcja wyłącza ich interpretację
znaki ucieczki, nawet w systemach, w których są one domyślnie interpretowane. ten
xpg_echo opcja powłoki może być użyta do dynamicznego określenia, czy przegapić
domyślnie rozwija te znaki ucieczki. przegapić nie interpretuje -- to znaczy
koniec opcji. przegapić interpretuje następujące sekwencje specjalne:
\a alarm (dzwonek)
\b Backspace
\c stłumić dalsze wyjście
\e
\E postać ucieczki
\f kanał formularzy
\n Nowa linia
\r powrót karetki
\t zakładka pozioma
\v pionowa zakładka
\\ ukośnik wsteczny
\0nnn ośmiobitowy znak, którego wartością jest wartość ósemkowa nnn (od zera do trzech
cyfry ósemkowe)
\xHH ośmiobitowy znak, którego wartością jest wartość szesnastkowa HH (jeden lub dwa
cyfry szesnastkowe)
\uHhhh znak Unicode (ISO/IEC 10646), którego wartością jest wartość szesnastkowa
Hhhh (od jednej do czterech cyfr szesnastkowych)
\UHHHHHHH
znak Unicode (ISO/IEC 10646), którego wartością jest wartość szesnastkowa
HHHHHHH (od jednej do ośmiu cyfr szesnastkowych)

umożliwiać [-a] [-dnps] [-f filename] [Nazwa ...]
Włącza i wyłącza wbudowane polecenia powłoki. Wyłączenie wbudowanego pozwala na dysk
polecenie, które ma taką samą nazwę jak wbudowana powłoka do wykonania bez
podanie pełnej ścieżki, nawet jeśli powłoka normalnie szuka poleceń wbudowanych
przed poleceniami dysku. Jeśli -n jest używany, każdy Nazwa jest niepełnosprawny; Inaczej, Nazwy jest
włączony. Na przykład, aby użyć test plik binarny znaleziony przez PATH zamiast tego
wersja wbudowana powłoki, uruchom ``enable -n test''. ten -f opcja oznacza załadowanie nowego
wbudowane polecenie Nazwa z udostępnionego obiektu filename, w systemach obsługujących dynamic
Ładowanie. ten -d opcja usunie wbudowane wcześniej załadowane z -f, Jeśli nie
Nazwa podane są argumenty, lub jeśli -p podana jest opcja, lista wbudowanych elementów powłoki
jest drukowany. Bez innych argumentów opcji lista zawiera wszystkie włączone powłoki
wbudowane. Jeśli -n jest dostarczane, drukowane są tylko wyłączone wbudowane. Jeśli -a is
dostarczone, wydrukowana lista zawiera wszystkie wbudowane, ze wskazaniem, czy lub
nie każdy jest włączony. Jeśli -s jest dostarczany, wyjście jest ograniczone do POSIX
specjalny wbudowane. Zwracana wartość to 0, chyba że a Nazwa nie jest wbudowaną powłoką lub
wystąpił błąd podczas ładowania nowego wbudowanego obiektu z udostępnionego obiektu.

eval [arg ...]
Połączenia args są odczytywane i łączone w jedno polecenie. To polecenie to
następnie odczytywany i wykonywany przez powłokę, a jego kod zakończenia jest zwracany jako wartość
of eval. Jeśli nie ma argslub tylko puste argumenty, eval zwraca 0.

exec [-kl] [-a Nazwa] [komenda [argumenty]]
If komenda jest określony, zastępuje powłokę. Nie jest tworzony żaden nowy proces. ten
argumenty stać się argumentami do komenda, Jeśli -l opcja jest dostarczana, powłoka
umieszcza myślnik na początku zerowego argumentu przekazanego do komenda. Jest
co Zaloguj Się(1) tak. ten -c Przyczyny opcji komenda do wykonania z pustym
środowisko. Gdyby -a jest dostarczany, pocisk przechodzi Nazwa jako zerowy argument do
wykonane polecenie. Jeśli komenda z jakiegoś powodu nie może zostać wykonana,
interaktywna powłoka kończy działanie, chyba że błąd wykonawczy opcja powłoki jest włączona. W tym
przypadku, zwraca awarię. Powłoka interaktywna zwraca błąd, jeśli plik nie może
być straconym. Jeśli komenda nie jest określony, wszelkie przekierowania zaczynają obowiązywać w
bieżąca powłoka, a status powrotu to 0. Jeśli wystąpi błąd przekierowania,
status zwrotu to 1.

wyjście [n]
Powoduje, że powłoka kończy pracę ze statusem n. Jeśli n jest pominięty, kod wyjścia to
że z ostatniego wykonanego polecenia. Pułapka na EXIT jest wykonywany przed powłoką
kończy się.

eksport [-fn] [Nazwa[=słowo]] ...
eksport -p
Dostarczony Nazwy są oznaczone do automatycznego eksportu do środowiska
następnie wykonywane polecenia. Jeśli -f podana jest opcja, Nazwy odnoszą się do
Funkcje. Jeśli nie Nazwy są podane, lub jeśli -p podana jest opcja, lista nazwisk
wszystkich eksportowanych zmiennych. ten -n opcja powoduje, że właściwość eksportu do
być usuniętym z każdego Nazwa. Jeśli po nazwie zmiennej występuje =słowo, wartość
zmienna jest ustawiona na słowo. eksport zwraca kod wyjścia równy 0, chyba że nieprawidłowy
napotkano opcję, jeden z Nazwy nie jest poprawną nazwą zmiennej powłoki, lub -f
jest dostarczany z Nazwa to nie jest funkcja.

fc [-e imię] [-lnr] [ drugim] [trwać]
fc -s [klepnięcie=rep] [cmd]
Pierwsza forma wybiera zakres poleceń z drugim do trwać z listy historii
oraz wyświetla lub edytuje i ponownie je wykonuje. i terminów, a i trwać można określić jako
ciąg (aby zlokalizować ostatnie polecenie rozpoczynające się tym ciągiem) lub jako liczbę (an
indeks do listy historii, gdzie liczba ujemna jest używana jako przesunięcie od
aktualny numer polecenia). Jeśli trwać nie jest określony, jest ustawiony na bieżące polecenie
do listingu (aby ``fc -l -10'' wyświetlało ostatnie 10 poleceń) i do drugim
Inaczej. Gdyby drugim nie jest określony, jest ustawiony na poprzednie polecenie do edycji
i -16 dla aukcji.

Połączenia -n opcja pomija numery poleceń podczas wystawiania. ten -r opcja odwraca
kolejność poleceń. Jeśli -l podana jest opcja, polecenia są wymienione na
standardowe wyjście. W przeciwnym razie redaktor podany przez imię jest wywoływany na pliku
zawierające te polecenia. Jeśli imię nie jest podana, wartość FCEDYT zmienna
jest używany, a wartość REDAKCJA if FCEDYT nie jest ustawiony. Jeśli żadna zmienna nie jest ustawiona,
vi jest używany. Po zakończeniu edycji edytowane polecenia są powtarzane i wykonywane.

W drugiej formie komenda jest ponownie wykonywany po każdym wystąpieniu klepnięcie jest zastąpiony
by rep. Command jest interpretowany tak samo jak drugim nad. Przydatny alias do używania z
to jest ``r="fc -s"'', więc wpisanie ``r cc'' uruchamia ostatnie polecenie zaczynające się od
``cc'' i wpisanie ``r'' ponownie wykonuje ostatnie polecenie.

Jeśli używana jest pierwsza forma, zwracana jest wartość 0, chyba że nieprawidłowa opcja to
napotkany lub drugim or trwać określić wiersze historii poza zakresem. Jeśli -e opcja
jest podana, wartość zwracana jest wartością ostatniego wykonanego polecenia lub błędu
jeśli wystąpi błąd w tymczasowym pliku poleceń. Jeśli druga forma to
używane, status powrotu jest taki, jak ponownie wykonane polecenie, chyba że cmd nie
podaj poprawny wiersz historii, w takim przypadku fc zwraca niepowodzenie.

fg [specyfikacja pracy]
Resume specyfikacja pracy na pierwszym planie i ustaw ją jako bieżącą pracę. Jeśli specyfikacja pracy nie jest
obecne, pojęcie powłoki aktualne praca jest używany. Zwracana wartość jest taka
polecenia umieszczonego na pierwszym planie lub niepowodzenie w przypadku uruchomienia, gdy kontrola zadania jest
wyłączone lub w przypadku uruchomienia z włączoną kontrolą zadań, jeśli specyfikacja pracy nie określa prawidłowego
praca lub specyfikacja pracy określa zadanie, które zostało uruchomione bez kontroli zadania.

getopty ciąg znaków Nazwa [args]
getopty jest używany przez procedury powłoki do analizowania parametrów pozycyjnych. ciąg znaków
zawiera znaki opcji do rozpoznania; jeśli po znaku występuje
dwukropek, opcja powinna mieć argument, który należy oddzielić od
to przez spację. Znaki dwukropka i znaku zapytania nie mogą być używane jako
znaki opcji. Za każdym razem, gdy jest przywoływana, getopty umieszcza następną opcję w
zmienna powłoki Nazwa, inicjowanie Nazwa jeśli nie istnieje, a indeks
następny argument do przetworzenia na zmienną OPTYCZNY. OPTYCZNY jest inicjowany na 1
za każdym razem, gdy wywoływana jest powłoka lub skrypt powłoki. Kiedy opcja wymaga
argument, getopty umieszcza ten argument w zmiennej OPTARG. Powłoka nie
nie resetowany OPTYCZNY automatycznie; należy go ręcznie zresetować między wieloma połączeniami, aby
getopty w ramach tego samego wywołania powłoki, jeśli ma być użyty nowy zestaw parametrów.

Po napotkaniu końca opcji, getopty wyjścia z wartością zwracaną większą
niż zero. OPTYCZNY jest ustawiony na indeks pierwszego argumentu nie będącego opcją, a Nazwa
jest ustawione na ?.

getopty normalnie analizuje parametry pozycyjne, ale jeśli podano więcej argumentów
in args, getopty analizuje je zamiast tego.

getopty może zgłaszać błędy na dwa sposoby. Jeśli pierwszy znak ciąg znaków jest
okrężnica, cichy używane jest raportowanie błędów. Podczas normalnej pracy komunikaty diagnostyczne
są wypisywane w przypadku napotkania nieprawidłowych opcji lub brakujących argumentów opcji. Jeśli
zmienna OPTERR jest ustawiony na 0, nie będą wyświetlane żadne komunikaty o błędach, nawet jeśli
pierwsza postać ciąg znaków nie jest dwukropkiem.

Jeśli zobaczysz nieprawidłową opcję, getopty miejsca ? w Nazwa a jeśli nie milczą, odciski
komunikat o błędzie i rozbrajanie OPTARG. Jeśli getopty milczy, znak opcji
znaleziony jest umieszczony w OPTARG i nie jest drukowany żaden komunikat diagnostyczny.

Jeśli wymagany argument nie zostanie znaleziony, oraz getopty nie milczy, znak zapytania (?)
jest umieszczony w Nazwa, OPTARG nie jest ustawiona i drukowany jest komunikat diagnostyczny. Jeśli
getopty milczy, a następnie dwukropek (:) jest umieszczony w Nazwa i OPTARG jest ustawiony na
znaleziono znak opcji.

getopty zwraca prawdę, jeśli zostanie znaleziona opcja, określona lub nieokreślona. Wraca
false w przypadku napotkania końca opcji lub wystąpienia błędu.

haszysz [-lr] [-p filename] [-DT] [Nazwa]
Za każdym razem haszysz wywoływana jest pełna ścieżka do polecenia Nazwa jest określana przez
przeszukiwanie katalogów w $ PATH i zapamiętane. Wszelkie wcześniej zapamiętane
nazwa ścieżki jest odrzucana. Jeśli -p podana jest opcja, nie jest wykonywane wyszukiwanie ścieżki,
i filename jest używana jako pełna nazwa pliku polecenia. ten -r opcja powoduje, że
powłoki, aby zapomnieć o wszystkich zapamiętanych lokalizacjach. ten -d opcja powoduje, że powłoka zapomina
zapamiętane położenie każdego Nazwa, Jeśli -t opcja jest dostarczana, pełna
ścieżka do której każdy Nazwa odpowiada jest drukowany. Jeśli wiele Nazwa argumenty są
zasilany -tThe Nazwa jest wypisywany przed zaszyfrowaną pełną ścieżką. ten -l
opcja powoduje, że dane wyjściowe są wyświetlane w formacie, który można ponownie wykorzystać jako dane wejściowe. Jeśli
nie podano żadnych argumentów, a jeśli tylko -l podana, informacja o zapamiętaniu
polecenia są drukowane. Zwrócony status jest prawdziwy, chyba że a Nazwa nie znaleziono lub nie
podano nieprawidłową opcję.

pomoc [-dms] [wzorzec]
Wyświetlaj przydatne informacje o poleceniach wbudowanych. Jeśli wzorzec jest specyficzne, pomoc
daje szczegółową pomoc w dopasowaniu wszystkich poleceń wzorzec; inaczej pomóż wszystkim
wbudowane i struktury sterujące powłoki są drukowane.
-d Wyświetl krótki opis każdego z nich wzorzec
-m Wyświetl opis każdego wzorzec w formacie przypominającym podręcznik
-s Wyświetlaj tylko krótkie streszczenie dla każdego z nich wzorzec

Zwracany status to 0, chyba że żadne polecenie nie pasuje wzorzec.

historia [n]
historia -c
historia -d offset
historia -anrw [filename]
historia -p arg [arg ...]
historia -s arg [arg ...]
Bez opcji wyświetla listę historii poleceń z numerami wierszy. Linie wymienione
z * zostały zmodyfikowane. Argument n wymienia tylko ostatnie n linie. Jeśli
zmienna powłoki HISTORIA FORMATU CZASU jest ustawione, a nie puste, jest używane jako ciąg formatujący
dla strftime.(3) aby wyświetlić znacznik czasu związany z każdą wyświetlaną historią
wejście. Pomiędzy sformatowanym znacznikiem czasu a
linia historii. Jeśli filename jest podany, jest używany jako nazwa pliku historii;
jeśli nie, wartość PLIK HIST jest używany. Opcje, jeśli są dostarczane, mają następujące elementy
znaczenia:
-c Wyczyść listę historii, usuwając wszystkie wpisy.
-d offset
Usuń wpis historii na pozycji offset.
-a Dołącz "nowe" wiersze historii (wiersze historii wprowadzone od początku)
prądu bash sesji) do pliku historii.
-n Wczytaj wiersze historii, które nie zostały jeszcze odczytane z pliku historii, do
aktualna lista historii. To są wiersze dołączone do pliku historii od
początek prądu bash sesja.
-r Przeczytaj zawartość pliku historii i dołącz ją do bieżącej historii
lista.
-w Zapisz bieżącą listę historii do pliku historii, nadpisując historię
zawartość pliku.
-p Wykonaj podmianę historii na następujących args i wyświetl wynik na
standardowe wyjście. Nie przechowuje wyników na liście historii. Każdy
arg musi być cytowany, aby wyłączyć normalne rozszerzanie historii.
-s Przechowuj args na liście historii jako pojedynczy wpis. Ostatnie polecenie w
lista historii jest usuwana przed args są dodane.

Jeśli HISTORIA FORMATU CZASU zmienna jest ustawiona, informacja o znaczniku czasu związana z
każdy wpis historii jest zapisywany w pliku historii, oznaczonym komentarzem do historii
postać. Kiedy plik historii jest odczytywany, wiersze zaczynające się od komentarza historii
znak, po którym następuje cyfra, są interpretowane jako znaczniki czasu dla
poprzednia linia historii. Zwracana wartość to 0, chyba że nieprawidłowa opcja to
napotkany, wystąpił błąd podczas odczytu lub zapisu pliku historii, nieprawidłowy
offset jest dostarczany jako argument do -dlub rozszerzenie historii dostarczone jako an
argument drugi -p zawiedzie.

Oferty pracy [-Inprs] [ specyfikacja pracy ...]
Oferty pracy -x komenda [ args ...]
Pierwszy formularz zawiera listę aktywnych zadań. Opcje mają następujące znaczenie:
-l Wymień identyfikatory procesów oprócz zwykłych informacji.
-n Wyświetlaj informacje tylko o zadaniach, których status zmienił się od czasu użytkownika
został ostatnio powiadomiony o ich statusie.
-p Podaj tylko identyfikator procesu lidera grupy procesów zadania.
-r Wyświetlaj tylko uruchomione zadania.
-s Wyświetlaj tylko zatrzymane zadania.

If specyfikacja pracy jest podane, wyjście jest ograniczone do informacji o tym zadaniu. ten
status powrotu to 0, chyba że napotkano nieprawidłową opcję lub nieprawidłową specyfikacja pracy is
dostarczane.

Jeśli -x opcja jest dostarczana, Oferty pracy zastępuje dowolne specyfikacja pracy Znaleziono w komenda or args
z odpowiednim identyfikatorem grupy procesów i wykonuje komenda przekazując to args,
zwracając swój status wyjścia.

zabić [-s specyfikacja sig | -n znak | -specyfikacja sig] [Pid | specyfikacja pracy] ...
zabić -l [specyfikacja sig | stan_wyjścia]
Wyślij sygnał nazwany przez specyfikacja sig or znak do procesów nazwanych przez Pid or
specyfikacja pracy. specyfikacja sig to nazwa sygnału, w której wielkość liter nie jest rozróżniana, na przykład SIGKILL (z lub
bez SIG prefiks) lub numer sygnału; znak to numer sygnału. Jeśli specyfikacja sig
nie jest więc obecny SIGTERM zakłada się. Argument -l zawiera listę nazw sygnałów.
Jeśli podano jakiekolwiek argumenty, gdy -l podano nazwy sygnałów
odpowiadające argumenty są wymienione, a status zwracany wynosi 0
stan_wyjścia argument drugi -l jest liczbą określającą numer sygnału lub
status wyjścia procesu zakończonego sygnałem. zabić zwraca prawdę, jeśli co najmniej jeden
sygnał został pomyślnie wysłany lub fałszywy, jeśli wystąpi błąd lub nieprawidłowa opcja jest
napotkany.

niech arg [arg ...]
Każdy arg jest wyrażeniem arytmetycznym do obliczenia (patrz ARYTMETYKA OCENA
nad). Jeśli ostatni arg ocenia do 0, niech zwraca 1; W przeciwnym razie zwracane jest 0.

miejscowy [opcja] [Nazwa[=wartość] ...]
Dla każdego argumentu zmienna lokalna o nazwie Nazwa jest tworzony i przypisywany wartość,
opcja może być dowolną z opcji zaakceptowanych przez ogłosić. Kiedy miejscowy jest używany w a
funkcja powoduje, że zmienna Nazwa mieć widoczny zasięg ograniczony do tego
funkcja i jej dzieci. Bez operandów, miejscowy pisze listę lokalnych
zmienne na standardowe wyjście. Jest to błąd w użyciu miejscowy kiedy nie jest w a
funkcjonować. Status zwrotu to 0, chyba że miejscowy jest używany poza funkcją, a
nieważny Nazwa jest dostarczony, lub Nazwa jest zmienną tylko do odczytu.

wyloguj się Wyjdź z powłoki logowania.

plik mapy [-n liczyć] [-O pochodzenie] [-s liczyć] [-t] [-u fd] [-C oddzwonić] [-c kwant] [szyk]
czytaj tablicę [-n liczyć] [-O pochodzenie] [-s liczyć] [-t] [-u fd] [-C oddzwonić] [-c kwant]
[szyk]
Wczytaj wiersze ze standardowego wejścia do indeksowanej zmiennej tablicowej szyk, Lub
deskryptor pliku fd Jeśli -u opcja jest dostarczana. Zmienna PLIK MAPOWY jest
domyślnym szyk. Opcje, jeśli są dostarczane, mają następujące znaczenie:
-n Kopiuj najwyżej liczyć linie. Gdyby liczyć ma wartość 0, kopiowane są wszystkie wiersze.
-O Rozpocznij przypisywanie do szyk w indeksie pochodzenie. Domyślny indeks to 0.
-s Odrzuć pierwszy liczyć czytane wiersze.
-t Usuń końcowy znak nowego wiersza z każdego odczytanego wiersza.
-u Czytaj wiersze z deskryptora pliku fd zamiast standardowego wejścia.
-C Oceniać oddzwonić za każdym razem kwant linie są czytane. ten -c opcja określa
kwant.
-c Określ liczbę wierszy odczytywanych między każdym wywołaniem do oddzwonić.

If -C jest określony bez -c, domyślna wartość to 5000. Kiedy oddzwonić is
oceniane, dostarczany jest indeks następnego elementu tablicy do przypisania i
wiersz, który ma zostać przypisany do tego elementu jako dodatkowe argumenty. oddzwonić is
oceniane po odczytaniu wiersza, ale przed przypisaniem elementu tablicy.

Jeśli nie ma wyraźnego pochodzenia, plik mapy wyczyści się szyk przed przypisaniem
do niego.

plik mapy zwraca pomyślnie, chyba że nieprawidłowa opcja lub argument opcji to
dostarczony, szyk jest nieważny lub nie można go przypisać, lub jeśli szyk nie jest tablicą indeksowaną.

popd [-n] [+n] [-n]
Usuwa wpisy ze stosu katalogów. Bez argumentów usuwa górę
katalogu ze stosu i wykonuje a cd do nowego głównego katalogu. Argumenty,
jeśli zostały dostarczone, mają następujące znaczenie:
-n Pomija normalną zmianę katalogu podczas usuwania katalogów z
stos, dzięki czemu manipulowany jest tylko stos.
+n Usuwa n-ty wpis licząc od lewej strony listy pokazywanej przez dirs,
zaczynając od zera. Na przykład: ``popd +0'' usuwa pierwszy katalog,
„wystrzel +1” drugi.
-n Usuwa n-ty wpis licząc od prawej strony listy pokazywanej przez dirs,
zaczynając od zera. Na przykład: ``popd -0'' usuwa ostatni katalog,
``popd -1'' przedostatni.

Jeśli popd polecenie się powiodło, a dirs wykonywany jest również, a zwrot
stan to 0. popd zwraca fałsz, jeśli napotkano nieprawidłową opcję, katalog
stos jest pusty, podano nieistniejący wpis w stosie katalogu lub katalog
zmiana nie powiedzie się.

printf [-v było] format [argumenty]
Napisz sformatowany argumenty na standardowe wyjście pod kontrolą
format, -v opcja powoduje przypisanie wyjścia do zmiennej było raczej
niż wypisanie na standardowe wyjście.

Połączenia format to ciąg znaków, który zawiera trzy typy obiektów: zwykły
znaki, które są po prostu kopiowane na standardowe wyjście, sekwencje specjalne znaków,
które są konwertowane i kopiowane na standardowe wyjście oraz specyfikacje formatu,
z których każdy powoduje wydruk kolejnego kolejnego argument. Dodatkowo
standard printf(1) specyfikacje formatu, printf interpretuje następujące
rozszerzenia:
%b Przyczyny printf aby rozwinąć sekwencje specjalne odwrotnego ukośnika w odpowiednich
argument (oprócz tego \c kończy wyjście, ukośniki odwrotne w \', \", \?
nie są usuwane, a znaki ucieczki ósemkowej zaczynające się od \0 może zawierać do czterech
cyfry).
%q Przyczyny printf aby wyprowadzić odpowiedni argument w formacie, który może być
ponownie używane jako wejście powłoki.
%(datafmt)T
Przyczyny printf aby wypisać ciąg daty i godziny, wynikający z użycia datafmt as
ciąg formatu dla strftime.(3). Odpowiednie argument jest liczbą całkowitą
reprezentujący liczbę sekund od epoki. Dwa specjalne argumenty
można użyć wartości: -1 reprezentuje aktualny czas, a -2 reprezentuje
czas wywołania powłoki. Jeśli nie podano argumentu, konwersja zachowuje się
jakby podano -1. To wyjątek od zwykłych printf zachowanie.

Argumenty do specyfikatorów formatu niełańcuchowego są traktowane jako stałe C, z wyjątkiem tego, że a
jest dozwolony wiodący znak plus lub minus, a jeśli wiodący znak jest pojedynczym lub
podwójny cudzysłów, wartość jest wartością ASCII następującego znaku.

Połączenia format jest ponownie używany w razie potrzeby do skonsumowania wszystkich argumenty, Jeśli format
wymaga więcej argumenty niż są dostarczane, zachowują się dodatkowe specyfikacje formatu
tak jakby podano wartość zerową lub ciąg pusty. Powrót
wartość jest równa zero w przypadku sukcesu, niezerowa w przypadku niepowodzenia.

pushd [-n] [+n] [-n]
pushd [-n] [reż]
Dodaje katalog na szczyt stosu katalogów lub obraca stos, dzięki czemu
nowy wierzchołek stosu bieżący katalog roboczy. Bez argumentów,
zamienia dwa górne katalogi i zwraca 0, chyba że stos katalogów to
pusty. Argumenty, jeśli zostały podane, mają następujące znaczenie:
-n Pomija normalną zmianę katalogu podczas dodawania katalogów do
stos, dzięki czemu manipulowany jest tylko stos.
+n Obraca stos tak, aby nkatalog (licząc od lewej strony
lista pokazana przez dirs, zaczynając od zera) znajduje się na górze.
-n Obraca stos tak, aby nkatalog (licząc od prawej strony
lista pokazana przez dirs, zaczynając od zera) znajduje się na górze.
reż Dodaje reż do stosu katalogów na górze, co czyni go nowym bieżącym
katalog roboczy tak, jakby został dostarczony jako argument do cd
wbudowany.

Jeśli pushd polecenie się powiodło, a dirs jest również wykonywany. Jeśli pierwsza forma
jest używany, pushd zwraca 0, chyba że cd do reż zawodzi. W drugiej formie pushd
zwraca 0, chyba że stos katalogów jest pusty, nieistniejący stos katalogów
określony jest element lub katalog zmienia się na określony nowy bieżący
katalog nie powiedzie się.

Pwd [-LP]
Wydrukuj bezwzględną nazwę ścieżki bieżącego katalogu roboczego. Wydrukowana nazwa ścieżki
nie zawiera dowiązań symbolicznych, jeśli -P opcja jest dostarczona lub -o fizyczny opcja
do zestaw wbudowane polecenie jest włączone. Jeśli -L używana jest opcja, nazwa ścieżki
drukowane mogą zawierać dowiązania symboliczne. Zwrócony status to 0, chyba że wystąpi błąd
podczas odczytywania nazwy bieżącego katalogu lub podano nieprawidłową opcję.

czytać [-ers] [-a imię] [-d rozgraniczać] [-i XNUMX] [-n nchary] [-N nchary] [-p podpowiedź] [-t
Timeout] [-u fd] [Nazwa ...]
Jedna linia jest odczytywana ze standardowego wejścia lub z deskryptora pliku fd w zestawie
jako argument do -u opcja, a pierwsze słowo jest przypisane do pierwszego Nazwa,
drugie słowo do drugiego Nazwai tak dalej, z pozostałymi słowami i ich
interweniujące separatory przypisane do ostatniego Nazwa. Jeśli jest mniej słów przeczytaj
ze strumienia wejściowego niż nazwy, pozostałym nazwom przypisywane są wartości puste.
Znaki w IFS służą do dzielenia linii na słowa przy użyciu tych samych zasad
powłoka używa do ekspansji (opisane powyżej pod słowo Dzielenie). Odwrotny ukośnik
postać (\) może być użyty do usunięcia specjalnego znaczenia dla następnego przeczytanego znaku
i dla kontynuacji linii. Opcje, jeśli są dostarczane, mają następujące znaczenie:
-a imię
Słowa są przypisane do kolejnych indeksów zmiennej tablicowej imię,
od 0. imię nie jest ustawiona przed przypisaniem jakichkolwiek nowych wartości. Inny
Nazwa argumenty są ignorowane.
-d rozgraniczać
Pierwsza postać rozgraniczać służy raczej do zakończenia linii wejściowej
niż nowa linia.
-e Jeśli standardowe wejście pochodzi z terminala, Czytaj linię (Patrz CZYTAJ LINIĘ
powyżej) służy do uzyskania linii. Readline używa bieżącego (lub domyślnego
jeśli edycja linii nie była wcześniej aktywna) ustawienia edycji.
-i XNUMX
If Czytaj linię jest używany do czytania linijki, XNUMX jest umieszczany w edycji
bufor przed rozpoczęciem edycji.
-n nchary
czytać wraca po przeczytaniu nchary znaków zamiast czekać na
pełny wiersz danych wejściowych, ale zwróć uwagę na ogranicznik, jeśli jest mniejszy niż nchary
znaki są odczytywane przed ogranicznikiem.
-N nchary
czytać wraca po dokładnym przeczytaniu nchary postacie zamiast czekać na
kompletna linia danych wejściowych, chyba że napotkano EOF lub czytać czas się skończył.
Znaki ogranicznika napotkane w danych wejściowych nie są traktowane specjalnie i
nie powodować czytać wrócić do nchary znaki są odczytywane.
-p podpowiedź
Wyświetlacz podpowiedź przy standardowym błędzie, bez końcowego nowego wiersza, przed
próba odczytania jakichkolwiek danych wejściowych. Monit jest wyświetlany tylko wtedy, gdy dane wejściowe są
pochodzących z terminala.
-r Odwrotny ukośnik nie działa jako znak ucieczki. Uwzględniany jest ukośnik odwrotny
być częścią linii. W szczególności para odwrotny ukośnik-nowa linia może nie być
używany jako kontynuacja linii.
-s Tryb cichy. Jeśli dane wejściowe pochodzą z terminala, znaki nie są powtarzane.
-t Timeout
Spowodować czytać aby przekroczyć limit czasu i zwrócić błąd, jeśli pełna linia danych wejściowych (lub a
określona liczba znaków) nie jest odczytywana w ciągu Timeout towary drugiej jakości. Timeout
może być liczbą dziesiętną z częścią ułamkową po przecinku
punkt. Ta opcja jest skuteczna tylko wtedy, gdy czytać czyta wejście z a
terminal, potok lub inny specjalny plik; nie ma to żadnego wpływu podczas czytania z
zwykłe pliki. Jeśli czytać czas się skończył, czytać zapisuje wszystkie częściowe dane wejściowe wczytane do
określona zmienna Nazwa. Jeśli Timeout jest 0, czytać wraca natychmiast,
bez próby odczytania jakichkolwiek danych. Status wyjścia to 0, jeśli wejście jest dostępne
na określonym deskryptorze pliku, w przeciwnym razie niezerowy. Status wyjścia to
większe niż 128, jeśli limit czasu zostanie przekroczony.
-u fd Czytaj dane wejściowe z deskryptora pliku fd.

Jeśli nie Nazwy są dostarczane, odczytana linia jest przypisywana do zmiennej ODPOWIADAĆ,
kod powrotu to zero, chyba że napotkano koniec pliku, czytać limit czasu (w którym
jeśli kod powrotu jest większy niż 128), błąd przypisania zmiennej (taki jak
przypisanie do zmiennej tylko do odczytu) lub podano nieprawidłowy deskryptor pliku
jako argument za… -u.

tylko czytać [-aAf] [-p] [Nazwa[=słowo] ...]
Dany Nazwy są oznaczone tylko do odczytu; wartości tych Nazwy nie można zmienić
przez kolejne przydziały. Jeśli -f opcja jest dostarczana, funkcje
odpowiadających Nazwy są tak oznaczone. ten -a opcja ogranicza zmienne do
tablice indeksowane; ten -A opcja ogranicza zmienne do tablic asocjacyjnych. Jeśli
obie opcje są dostarczane, -A ma pierwszeństwo. Jeśli nie Nazwa podane są argumenty, lub
Jeśli -p podana jest opcja, wypisywana jest lista wszystkich nazw tylko do odczytu. Inny
opcje mogą być użyte do ograniczenia wyjścia do podzbioru zbioru tylko do odczytu
nazwy. ten -p opcja powoduje wyświetlenie danych wyjściowych w formacie, który można ponownie wykorzystać
jako wejście. Jeśli po nazwie zmiennej występuje =słowo, wartość zmiennej to
Ustawić słowo. Zwracany status to 0, chyba że napotkano nieprawidłową opcję, jeden
ukończenia Nazwy nie jest poprawną nazwą zmiennej powłoki, lub -f jest dostarczany z Nazwa że
nie jest funkcją.

powrót [n]
Powoduje, że funkcja przestaje wykonywać i zwraca wartość określoną przez n do jego
gość. Gdyby n jest pominięty, zwracany jest status ostatniego polecenia wykonanego w
treść funkcji. Jeśli powrót jest używany poza funkcją, ale podczas wykonywania
scenariusz autorstwa . (źródło), powoduje, że powłoka przestaje to wykonywać
skrypt i zwróć albo n lub status wyjścia ostatniego polecenia wykonanego w ciągu
skrypt jako kod wyjścia skryptu. Jeśli n jest dostarczana, zwracana wartość to
jego najmniej znaczących 8 bitów. Zwracany status jest niezerowy, jeśli powrót jest zaopatrywany
argument nieliczbowy lub jest używany poza funkcją, a nie podczas wykonywania
scenariusz autorstwa . or źródło. Dowolne polecenie związane z POWRÓT pułapka jest wykonywana
przed wykonaniem wznawia się po funkcji lub skrypcie.

zestaw [--abefhkmnptuvxBCEHPT] [-o nazwa-opcji] [arg ...]
zestaw [+abefhkmnptuvxBCEHPT] [+o nazwa-opcji] [arg ...]
Bez opcji nazwa i wartość każdej zmiennej powłoki są wyświetlane w postaci
format, który może być ponownie użyty jako wejście do ustawiania lub resetowania aktualnie ustawionego
zmienne. Zmienne tylko do odczytu nie mogą być resetowane. w posix tryb, tylko powłoka
wymienione są zmienne. Dane wyjściowe są sortowane zgodnie z bieżącymi ustawieniami regionalnymi. Kiedy
określone są opcje, ustawiają one lub usuwają atrybuty powłoki. Wszelkie pozostałe argumenty
po przetworzeniu opcji są traktowane jako wartości parametrów pozycyjnych i są
przypisane, w kolejności, do $1, $2, ... $n. Opcje, jeśli zostały określone, mają następujące
znaczenia:
-a Automatycznie zaznacz zmienne i funkcje, które są modyfikowane lub tworzone
do eksportu do środowiska kolejnych poleceń.
-b Natychmiast zgłaszaj status zakończonych zadań w tle, a nie
przed następnym głównym monitem. Jest to skuteczne tylko wtedy, gdy kontrola zadań jest
włączone.
-e Wyjdź natychmiast, jeśli a rurociąg (który może składać się z jednego prosty
komenda) Z podstęp, Lub złożony komenda (Patrz SHELL GRAMATYKA powyżej), wyjścia
ze statusem niezerowym. Powłoka nie kończy pracy, jeśli polecenie się nie powiedzie
jest częścią listy poleceń bezpośrednio po a Podczas or aż do słowo kluczowe,
część testu po if or Elif zastrzeżone słowa, część dowolnego
polecenie wykonane w a && or || lista z wyjątkiem polecenia następującego po finale
&& or ||, dowolne polecenie w potoku oprócz ostatniego lub jeśli polecenie jest
zwracana wartość jest odwracana za pomocą !. Jeśli polecenie złożone inne niż a
subshell zwraca niezerowy status, ponieważ polecenie nie powiodło się, gdy -e była
po zignorowaniu powłoka nie kończy pracy. Pułapka na ERR, jeśli ustawione, jest wykonywane
przed zamknięciem powłoki. Ta opcja dotyczy środowiska powłoki i
każde środowisko podpowłoki osobno (patrz COMMAND WYKONANIE ŚRODOWISKO
powyżej) i może spowodować zamknięcie podpowłok przed wykonaniem wszystkich poleceń
w podpowłoce.

Jeśli polecenie złożone lub funkcja powłoki jest wykonywana w kontekście, w którym -e is
ignorowane, żadne z poleceń wykonywanych w ramach polecenia złożonego lub
na ciało funkcji będzie miało wpływ -e ustawienie, nawet jeśli -e jest ustawiony i
polecenie zwraca stan niepowodzenia. Jeśli polecenie złożone lub funkcja powłoki
zestawy -e podczas wykonywania w kontekście, w którym -e jest ignorowane, to ustawienie spowoduje
nie mają żadnego efektu, dopóki polecenie złożone lub polecenie zawierające
wywołanie funkcji się kończy.
-f Wyłącz rozwijanie ścieżek.
-h Zapamiętaj lokalizację poleceń, gdy są one wyszukiwane do wykonania.
Jest to domyślnie włączone.
-k Wszystkie argumenty w postaci instrukcji przypisania są umieszczane w
środowiska dla polecenia, a nie tylko tych, które poprzedzają nazwę polecenia.
-m Tryb monitora. Kontrola zadań jest włączona. Ta opcja jest domyślnie włączona dla
interaktywne powłoki na systemach, które to obsługują (zobacz PRACA CONTROL nad). Wszystko
procesy są uruchamiane w oddzielnej grupie procesów. Kiedy praca w tle
zakończy się, powłoka wypisuje wiersz zawierający jego kod zakończenia.
-n Czytaj polecenia, ale nie wykonuj ich. Może to być użyte do sprawdzenia powłoki
skrypt dla błędów składniowych. Jest to ignorowane przez interaktywne powłoki.
-o nazwa-opcji
Połączenia nazwa-opcji może być jednym z następujących:
alleksport
Taki sam jak -a.
klamrarozwiń
Taki sam jak -B.
emacs Użyj interfejsu edycji wiersza poleceń w stylu emacsa. To jest włączone
domyślnie, gdy powłoka jest interaktywna, chyba że powłoka jest
Zaczęło się od --noedytowanie opcja. Ma to również wpływ na edycję
interfejs używany do czytać -e.
błąd Taki sam jak -e.
błąd
Taki sam jak -E.
funkcja
Taki sam jak -T.
hashal Taki sam jak -h.
histrozwiń
Taki sam jak -H.
historia Włącz historię poleceń, jak opisano powyżej w HISTORIA, To
opcja jest domyślnie włączona w powłokach interaktywnych.
ignorować
Efekt jest taki, jakby polecenie powłoki ``IGNOREEOF=10'' było
wykonane (patrz Powłoka Zmienne powyżej).
keyword Taki sam jak -k.
monitor Taki sam jak -m.
nocnik
Taki sam jak -C.
noexec Taki sam jak -n.
noglob Taki sam jak -f.
nolog Obecnie ignorowane.
powiadom Taki sam jak -b.
rzeczownik Taki sam jak -u.
jeden cmd Taki sam jak -t.
fizyczny
Taki sam jak -P.
awaria potoku
Jeśli jest ustawiona, zwracana wartość potoku jest wartością ostatniego
(po prawej) polecenie wyjścia z niezerowym statusem lub zerowym, jeśli wszystko
polecenia w potoku zostały pomyślnie zakończone. Ta opcja to
domyślnie wyłączone.
posix Zmień zachowanie bash gdzie domyślna operacja jest inna
ze standardu POSIX, aby pasował do standardu (posix tryb). Widzieć
ZOBACZ TAKŻE poniżej, aby uzyskać odniesienie do dokumentu, który szczegółowo opisuje, w jaki sposób posix
tryb wpływa na zachowanie basha.
uprzywilejowany
Taki sam jak -p.
gadatliwy Taki sam jak -v.
vi Użyj interfejsu edycji wiersza poleceń w stylu vi. Dotyczy to również
interfejs edycji używany do czytać -e.
xtras Taki sam jak -x.
If -o jest dostarczany bez nazwa-opcji, wartości aktualnych opcji
są drukowane. Jeśli +o jest dostarczany bez nazwa-opcji, Seria zestaw
polecenia do odtworzenia bieżących ustawień opcji są wyświetlane na
standardowe wyjście.
-p włączać uprzywilejowany tryb. W tym trybie $ENW i $BASH_ENV pliki są
nie przetworzone, funkcje powłoki nie są dziedziczone ze środowiska i
dotychczasowy MUSZLE, BASOPTY, CDPATH, GLOBIGNOR zmienne, jeśli się pojawiają
w środowisku są ignorowane. Jeśli powłoka jest uruchomiona z
efektywny identyfikator użytkownika (grupy) nie jest równy rzeczywistemu identyfikatorowi użytkownika (grupy), a -p
opcja nie jest podana, te działania są podejmowane i efektywny identyfikator użytkownika
jest ustawiony na prawdziwy identyfikator użytkownika. Jeśli -p opcja jest dostarczana przy uruchomieniu,
efektywny identyfikator użytkownika nie jest resetowany. Wyłączenie tej opcji powoduje, że
efektywne identyfikatory użytkowników i grup należy ustawić na rzeczywiste identyfikatory użytkowników i grup.
-t Wyjdź po przeczytaniu i wykonaniu jednego polecenia.
-u Traktuj nieustawione zmienne i parametry inne niż parametry specjalne „@”
i "*" jako błąd podczas wykonywania interpretacji parametrów. Jeśli rozszerzenie jest
próba na nieustawionej zmiennej lub parametrze, powłoka wypisuje błąd
komunikat i, jeśli nie jest interaktywny, kończy pracę z niezerowym statusem.
-v Wyświetlaj wiersze wejściowe powłoki podczas ich czytania.
-x Po rozszerzeniu każdego prosty komenda, dla Komenda, walizka Komenda, wybierać
polecenie lub arytmetyka dla polecenie, wyświetl rozwiniętą wartość PS4,
po którym następuje polecenie i jego rozwinięte argumenty lub skojarzona lista słów.
-B Powłoka wykonuje rozwinięcie nawiasów (patrz Klamra Ekspansja nad). To jest włączone
domyślnie.
-C Jeśli ustawione, bash nie nadpisuje istniejącego pliku znakiem >, >&, <>
operatory przekierowania. Może to zostać nadpisane podczas tworzenia plików wyjściowych
za pomocą operatora przekierowania >| zamiast >.
-E Jeśli ustawione, każda pułapka włączona ERR jest dziedziczona przez funkcje powłoki, polecenie
podstawienia i polecenia wykonywane w środowisku podpowłoki. ten ERR
pułapka zwykle nie jest dziedziczona w takich przypadkach.
-H umożliwiać ! zastąpienie historii stylu. Ta opcja jest domyślnie włączona, gdy
powłoka jest interaktywna.
-P Jeśli jest ustawiona, powłoka nie rozpoznaje dowiązań symbolicznych podczas wykonywania poleceń
jak na przykład cd które zmieniają bieżący katalog roboczy. Wykorzystuje fizyczne
zamiast tego struktura katalogów. Domyślnie, bash podąża za logicznym łańcuchem
katalogi podczas wykonywania poleceń zmieniających bieżący katalog.
-T Jeśli ustawione, wszelkie pułapki włączone DEBUG i POWRÓT są dziedziczone przez funkcje powłoki,
podstawienia poleceń i polecenia wykonywane w środowisku podpowłoki.
Połączenia DEBUG i POWRÓT W takich przypadkach pułapki zwykle nie są dziedziczone.
-- Jeśli po tej opcji nie występują żadne argumenty, to parametrami pozycyjnymi są
nieoprawny. W przeciwnym razie parametry pozycyjne są ustawione na args, nawet jeśli
niektóre z nich zaczynają się od -.
- Zasygnalizuj koniec opcji, bo wszystkie pozostałe args do przypisania do
parametry pozycyjne. ten -x i -v opcje są wyłączone. Jeśli tam są
Nie args, parametry pozycyjne pozostają niezmienione.

Opcje są domyślnie wyłączone, chyba że zaznaczono inaczej. Używając + zamiast -
powoduje wyłączenie tych opcji. Opcje można również określić jako
argumenty do wywołania powłoki. Aktualny zestaw opcji można znaleźć
in $-. Zwracany status jest zawsze prawdziwy, chyba że napotkano nieprawidłową opcję.

przesunięcie [n]
Parametry pozycyjne z n+1 ... zmieniono nazwę na $1 .... parametry
reprezentowane przez liczby $# aż do $#-n+1 nie są ustawione. n musi być wartością nieujemną
liczba mniejsza lub równa $#. Jeśli n wynosi 0, żadne parametry nie są zmieniane. Jeśli n is
nie podano, przyjmuje się, że wynosi 1. Jeśli n jest większa $#, pozycyjne
parametry nie są zmieniane. Zwracany status jest większy od zera, jeśli n jest wspanialszy
niż $# lub mniej niż zero; w przeciwnym razie 0.

zakupy [-pqsu] [-o] [nazwa_opcji ...]
Przełącz wartości ustawień kontrolujących opcjonalne zachowanie powłoki. Ustawienia
mogą być wymienione poniżej lub, jeśli -o używana jest opcja, te dostępne
z -o opcja do zestaw wbudowane polecenie. Bez opcji lub z -p
opcji, wyświetlana jest lista wszystkich możliwych do ustawienia opcji, ze wskazaniem, czy:
czy nie każdy jest ustawiony. ten -p opcja powoduje wyświetlenie danych wyjściowych w postaci, która może:
być ponownie wykorzystane jako dane wejściowe. Inne opcje mają następujące znaczenie:
-s Włącz (ustaw) każdy nazwa_opcji.
-u Wyłącz (wyłącz) każdy nazwa_opcji.
-q Blokuje normalne wyjście (tryb cichy); status zwrotu wskazuje, czy
dotychczasowy nazwa_opcji jest uzbrojony lub rozbrojony. Jeśli wiele nazwa_opcji argumenty są podane z
-q, status zwrotu wynosi zero, jeśli wszystko nazwy opcji są włączone; niezerowe
Inaczej.
-o Ogranicza wartości nazwa_opcji być tymi zdefiniowanymi dla -o opcja do
zestaw wbudowany.

Jeśli albo -s or -u jest używany bez nazwa_opcji argumenty, zakupy pokazuje tylko te
opcje, które są odpowiednio ustawione lub nieustawione. O ile nie zaznaczono inaczej, zakupy
opcje są domyślnie wyłączone (nieustawione).

Status zwrotu, gdy opcje aukcji wynosi zero, jeśli wszystkie nazwy opcji są włączone, nie
zero w przeciwnym razie. Podczas uzbrajania lub rozbrajania opcji, status powrotu wynosi zero
chyba że nazwa_opcji nie jest prawidłową opcją powłoki.

Lista zakupy opcje to:

autoCD Jeśli jest ustawiona, nazwa polecenia, która jest nazwą katalogu, jest wykonywana tak, jakby
były argumentem do cd Komenda. Ta opcja jest używana tylko przez
interaktywne powłoki.
cdable_vars
Jeśli jest ustawiony, argument do cd wbudowane polecenie, które nie jest katalogiem, to
zakłada się, że jest to nazwa zmiennej, której wartością jest katalog do zmiany
do.
cdspell Jeśli jest ustawiona, drobne błędy w pisowni składnika katalogu w a cd
polecenie zostanie poprawione. Sprawdzane błędy są transponowane
znaków, brakujący znak i jeden znak za dużo. Jeśli
zostanie znaleziona poprawka, wypisywana jest poprawiona nazwa pliku, a polecenie
dochód. Ta opcja jest używana tylko przez interaktywne powłoki.
szachhasz
Jeśli ustawione, bash sprawdza, czy polecenie znalezione w tablicy mieszającej istnieje wcześniej
próbując go wykonać. Jeśli zaszyfrowane polecenie już nie istnieje, normalna ścieżka
przeprowadzane jest wyszukiwanie.
czeki
Jeśli ustawione, bash wyświetla stan wszystkich zatrzymanych i uruchomionych zadań przed
wyjście z interaktywnej powłoki. Jeśli jakieś zadania są uruchomione, powoduje to:
wyjście zostanie odroczone do czasu podjęcia próby drugiego wyjścia bez interwencji
polecenie (patrz PRACA CONTROL nad). Powłoka zawsze odkłada wyjście, jeśli takie istnieje
zadania są zatrzymywane.
sprawdźwinsize
Jeśli ustawione, bash sprawdza rozmiar okna po każdym poleceniu i jeśli to konieczne,
aktualizuje wartości LINIE i KOLUMNY.
cmdhist Jeśli ustawione, bash próbuje zapisać wszystkie wiersze polecenia wielowierszowego w
ten sam wpis historii. Pozwala to na łatwą ponowną edycję poleceń wielowierszowych.
kompatybilność31
Jeśli ustawione, bash zmienia swoje zachowanie do wersji 3.1 w odniesieniu do
cytowane argumenty do [[ polecenia warunkowe =~ operator i lokalizacja-
konkretne porównanie ciągów przy użyciu [[ polecenia warunkowe < i >
operatorów. Wersje Bash przed bash-4.1 używają sortowania ASCII i
strcmp(3); bash-4.1 i nowsze używają sekwencji sortowania bieżącej lokalizacji
i strcoll(3).
kompatybilność32
Jeśli ustawione, bash zmienia swoje zachowanie do wersji 3.2 w odniesieniu do
porównanie ciągów specyficznych dla ustawień regionalnych przy użyciu [[ polecenia warunkowe <
i > operatorów (patrz poprzedni punkt).
kompatybilność40
Jeśli ustawione, bash zmienia swoje zachowanie do wersji 4.0 w odniesieniu do
porównanie ciągów specyficznych dla ustawień regionalnych przy użyciu [[ polecenia warunkowe <
i > operatorów (patrz opis kompatybilność31) i efekt
przerywanie listy poleceń. Bash w wersji 4.0 i nowszych przerywa
lista tak, jakby powłoka otrzymała przerwanie; poprzednie wersje kontynuuj
z następnym poleceniem na liście.
kompatybilność41
Jeśli ustawione, bash, kiedy w posix tryb, traktuje pojedynczy cudzysłów w cudzysłowie podwójnym
rozszerzenie parametrów jako znak specjalny. Pojedyncze cudzysłowy muszą się zgadzać
(liczba parzysta), a znaki między pojedynczymi cudzysłowami to
uważane za cytowane. To jest zachowanie trybu posix aż do wersji 4.1.
Domyślne zachowanie basha pozostaje takie jak w poprzednich wersjach.
kompatybilność42
Jeśli ustawione, bash nie przetwarza ciągu zastępczego we wzorcu
zastąpienie rozszerzenia wyrazów przy użyciu usuwania cudzysłowów.
kompletny_pełny cytat
Jeśli ustawione, bash cytuje wszystkie metaznaki powłoki w nazwach plików i katalogu
nazwy podczas wykonywania uzupełniania. Jeśli nie ustawiono, bash usuwa metaznaki
takich jak znak dolara z zestawu znaków, które będą cytowane w
uzupełnione nazwy plików, gdy te metaznaki pojawiają się w zmiennej powłoki
odniesienia słowne do uzupełnienia. Oznacza to, że znaki dolara w
nazwy zmiennych, które rozwijają się do katalogów, nie będą cytowane; jednak każdy
Znaki dolara występujące w nazwach plików również nie będą cytowane. To jest
aktywny tylko wtedy, gdy bash używa odwrotnych ukośników do cytowania ukończonych nazw plików.
Ta zmienna jest ustawiona domyślnie, co jest domyślnym zachowaniem basha w
wersje do 4.2.
direexpand
Jeśli ustawione, bash zastępuje nazwy katalogów wynikami rozszerzenia słów
podczas wykonywania uzupełniania nazw plików. Zmienia to zawartość
bufor edycji readline. Jeśli nie ustawiono, bash próby zachowania tego, co
użytkownik wpisał.
zaklęcie
Jeśli ustawione, bash próbuje poprawić pisownię nazw katalogów podczas słowa
zakończenie, jeśli początkowo podana nazwa katalogu nie istnieje.
kropka Jeśli ustawione, bash zawiera nazwy plików zaczynające się od `.' w wynikach
rozwijanie ścieżki.
błąd wykonawczy
Jeśli jest ustawiona, powłoka nieinteraktywna nie zakończy pracy, jeśli nie może wykonać pliku
określony jako argument do exec wbudowane polecenie. Interaktywna powłoka
nie wychodzi, jeśli exec zawiedzie.
rozwiń_aliasy
Jeśli jest ustawiona, aliasy są rozwijane zgodnie z opisem powyżej w SKRÓTY. Ta opcja
jest domyślnie włączone dla powłok interaktywnych.
extdebug
Jeśli jest ustawiona, włączone jest zachowanie przeznaczone do użytku przez debugery:
1. Połączenia -F opcja do ogłosić wbudowany wyświetla nazwę pliku źródłowego
i numer wiersza odpowiadający każdej nazwie funkcji podanej jako an
argumenty.
2. Jeśli polecenie uruchomione przez DEBUG trap zwraca wartość niezerową,
następne polecenie jest pomijane i nie jest wykonywane.
3. Jeśli polecenie uruchomione przez DEBUG trap zwraca wartość 2, a
powłoka jest wykonywana w podprogramie (funkcja powłoki lub powłoka
skrypt wykonywany przez . or źródło wbudowane), wezwanie do powrót is
symulowane.
4. BASH_ARGC i BASH_ARGV są aktualizowane zgodnie z opisem w ich
opisy powyżej.
5. Śledzenie funkcji jest włączone: podstawianie poleceń, funkcje powłoki,
i podpowłoki wywoływane za pomocą ( komenda ) odziedziczyć DEBUG i POWRÓT
majdan.
6. Śledzenie błędów jest włączone: podstawianie poleceń, funkcje powłoki,
i podpowłoki wywoływane za pomocą ( komenda ) odziedziczyć ERR pułapka.
extglob Jeśli ustawione, rozszerzone funkcje dopasowywania wzorców opisane powyżej w
Nazwa ścieżki Ekspansja są włączone.
cytat
Jeśli ustawione, $'ciąg' oraz $"ciąg" cytowanie odbywa się w ciągu ${parametr}
rozszerzenia ujęte w podwójne cudzysłowy. Opcja jest wyłączona domyślnie.
Failglob
Jeśli jest ustawiona, wzorce, które nie pasują do nazw plików podczas rozwijania ścieżki
spowodować błąd rozszerzenia.
siła_fignore
Jeśli jest ustawiony, przyrostki określone przez FIGNORUJ zmienna powłoki powoduje, że słowa do
być ignorowane podczas wykonywania uzupełniania słów, nawet jeśli ignorowane słowa są
jedyne możliwe uzupełnienia. Widzieć SHELL ZMIENNE powyżej opis
of FIGNORUJ. Opcja jest wyłączona domyślnie.
globalasciiranges
Jeśli jest ustawiona, wyrażenia zakresu używane w wyrażeniach dopasowujących do wzorca nawiasów (zobacz
Wzór Dopasowywanie powyżej) zachowuj się jak w tradycyjnym języku C, kiedy
wykonywanie porównań. Oznacza to, że sekwencja zestawiania bieżącego języka
nie jest brane pod uwagę, więc b nie będzie zestawiać między A i B,
wielkie i małe znaki ASCII zostaną ze sobą posortowane.
globgwiazda
Jeśli jest ustawiony, wzór ** użyte w kontekście rozwijania nazw ścieżek będzie pasować do wszystkich
pliki oraz zero lub więcej katalogów i podkatalogów. Jeśli wzór jest
następnie /, pasują tylko katalogi i podkatalogi.
gnu_errfmt
Jeśli jest ustawiona, komunikaty o błędach powłoki są zapisywane w standardowym komunikacie o błędzie GNU
Format.
histappend
Jeśli jest ustawiona, lista historii jest dołączana do pliku o nazwie
PLIK HIST zmienna, gdy powłoka kończy pracę, zamiast nadpisywania pliku.
edytuj historię
Jeśli ustawione, oraz Czytaj linię jest używany, użytkownik ma możliwość ponownego
edytować nieudaną zamianę historii.
histweryfikacja
Jeśli ustawione, oraz Czytaj linię jest używany, wyniki podstawienia historii są
nie od razu przekazywane do parsera powłoki. Zamiast tego otrzymana linia to
załadowany do Czytaj linię edycja bufora, umożliwiająca dalszą modyfikację.
hostkompletny
Jeśli ustawione, oraz Czytaj linię jest używany, bash spróbuje wykonać nazwę hosta
zakończenie, gdy słowo zawierające a @ jest w trakcie (patrz Kończenie
dla CZYTAJ LINIĘ nad). Jest to domyślnie włączone.
huponexit
Jeśli ustawione, bash wyśle ZGŁOSZENIE do wszystkich zadań, gdy interaktywna powłoka logowania
wyjść.
komentarze_interaktywne
Jeśli ustawione, zezwól na słowo zaczynające się od # aby spowodować to słowo i wszystkie pozostałe
znaki w tym wierszu mają być ignorowane w powłoce interaktywnej (zobacz KOMENTARZE
nad). Opcja jest wyłączona domyślnie.
ostatnia rura
Jeśli jest ustawiona, a kontrola zadań nie jest aktywna, powłoka uruchamia ostatnie polecenie a
potok nie jest wykonywany w tle w bieżącym środowisku powłoki.
litista Jeśli ustawione, a cmdhist opcja jest włączona, polecenia wielowierszowe są zapisywane w
historia z osadzonymi znakami nowej linii zamiast używania separatorów średników
tam, gdzie to możliwe.
login_shell
Powłoka ustawia tęopcjęjeśli jest uruchomiona jako powłoka logowania (zobacz
WEZWANIE nad). Wartość nie może zostać zmieniona.
ostrzeżenie pocztowe
Jeśli ustawione, oraz plik, który bash czy sprawdzanie poczty było dostępne od?
podczas ostatniego sprawdzania komunikat ``Poczta w plik poczty został
przeczytaj''.
no_empty_cmd_completion
Jeśli ustawione, oraz Czytaj linię jest używany, bash nie będzie próbował przeszukiwać
PATH dla możliwych uzupełnień, gdy próba uzupełnienia jest podejmowana na pustym
Linia.
nocaseglob
Jeśli ustawione, bash dopasowuje nazwy plików bez rozróżniania wielkości liter, gdy
wykonywanie rozszerzaniaścieżek (zobacz Nazwa ścieżki Ekspansja powyżej).
brak dopasowania
Jeśli ustawione, bash dopasowuje wzorce bez rozróżniania wielkości liter podczas wykonywania
dopasowanie podczas wykonywania walizka or [[ polecenia warunkowe.
nullglob
Jeśli ustawione, bash zezwala na wzorce, które nie pasują do żadnych plików (zobacz Nazwa ścieżki Ekspansja
powyżej), aby rozwinąć do łańcucha pustego, a nie do siebie.
progkomp
Jeśli ustawione, programowalne udogodnienia uzupełniania (patrz Programowalny Completion
powyżej) są włączone. Opcja jest wyłączona domyślnie.
podpowiedzi
Jeśli jest ustawiona, łańcuchy zachęty podlegają interpretacji parametrów, podstawieniu poleceń,
rozwijanie arytmetyczne i usuwanie cudzysłowów po rozwinięciu zgodnie z opisem
in PODSZEPT nad. Opcja jest wyłączona domyślnie.
Ograniczona powłoka
Powłoka ustawia tęopcjęjeśli jest uruchomiona w trybie ograniczonym (zobacz
OGRANICZONY SHELL poniżej). Wartość nie może zostać zmieniona. To nie jest resetowane
kiedy pliki startowe są wykonywane, co pozwala na odkrycie plików startowych
czy powłoka jest ograniczona.
shift_verbose
Jeśli ustawione, przesunięcie wbudowane wypisuje komunikat o błędzie, gdy liczba zmian
przekracza liczbę parametrów pozycyjnych.
ścieżka źródłowa
Jeśli ustawione, źródło (.) wbudowane używa wartości PATH znaleźć katalog
zawierający plik dostarczony jako argument. Ta opcja jest włączona przez
domyślna.
xpg_echo
Jeśli ustawione, przegapić builtin domyślnie rozwija sekwencje ucieczki odwrotnym ukośnikiem.

zawieszać [-f]
Zawieś wykonanie tej powłoki, dopóki nie otrzyma SYGKONT sygnał. Logowanie
pocisk nie może być zawieszony; ten -f opcja może być użyta do zastąpienia tego i wymuszenia
zawieszenie. Zwracany status to 0, chyba że powłoka jest powłoką logowania i -f nie jest
dostarczone, lub jeśli kontrola zadań nie jest włączona.

test expr
[ expr ]
Zwróć status 0 (prawda) lub 1 (fałsz) w zależności od oceny
wyrażenie warunkowe expr. Każdy operator i operand musi być osobnym
argument. Wyrażenia składają się z podstawowych opisanych powyżej w
WARUNKOWY WYRAŻENIA. test nie akceptuje żadnych opcji, ani nie akceptuje i
zignoruj ​​argument -- jako oznaczający koniec opcji.

Wyrażenia można łączyć za pomocą następujących operatorów, wymienionych malejącym
kolejność pierwszeństwa. Ocena zależy od liczby argumentów; patrz poniżej.
Pierwszeństwo operatorów jest używane, gdy istnieje pięć lub więcej argumentów.
! expr Prawda, jeśli expr to fałsz.
( expr )
Zwraca wartość expr. Może to służyć do zastąpienia normalnego
pierwszeństwo operatorów.
wyr1 -a wyr2
Prawda, jeśli oba wyr1 i wyr2 są prawdziwe.
wyr1 -o wyr2
Prawda, jeśli albo wyr1 or wyr2 jest prawdziwy.

test i [ oceń wyrażenia warunkowe za pomocą zestawu reguł opartych na
liczba argumentów.

0 argumentów
Wyrażenie jest fałszywe.
1 argumentów
Wyrażenie jest prawdziwe wtedy i tylko wtedy, gdy argument nie jest pusty.
2 argumentów
Jeśli pierwszym argumentem jest !, wyrażenie jest prawdziwe wtedy i tylko wtedy, gdy drugi
argument jest pusty. Jeśli pierwszy argument jest jednym z jednoargumentowych warunkowych
operatorzy wymienieni powyżej w WARUNKOWY WYRAŻENIA, wyrażenie jest prawdziwe
jeśli test jednoargumentowy jest prawdziwy. Jeśli pierwszy argument nie jest poprawnym jednoargumentowym
operator warunkowy, wyrażenie jest fałszywe.
3 argumentów
W podanej kolejności obowiązują następujące warunki. Jeśli drugi
argument jest jednym z binarnych operatorów warunkowych wymienionych powyżej w
WARUNKOWY WYRAŻENIA, wynik wyrażenia jest wynikiem
test binarny przy użyciu pierwszego i trzeciego argumentu jako operandów. ten -a i -o
operatory są uważane za operatory binarne, gdy istnieją trzy argumenty.
Jeśli pierwszym argumentem jest !, wartość jest negacją dwuargumentu
przetestuj przy użyciu drugiego i trzeciego argumentu. Jeśli pierwszy argument to dokładnie
( a trzeci argument to dokładnie ), wynikiem jest test jednoargumentowy
drugiego argumentu. W przeciwnym razie wyrażenie jest fałszywe.
4 argumentów
Jeśli pierwszym argumentem jest !wynikiem jest negacja trójargumentu
wyrażenie złożone z pozostałych argumentów. W przeciwnym razie wyrażenie
jest analizowany i oceniany zgodnie z pierwszeństwem przy użyciu wymienionych reguł
powyżej.
5 lub więcej argumentów
Wyrażenie jest analizowane i oceniane zgodnie z pierwszeństwem przy użyciu
zasady wymienione powyżej.

Kiedy jest używany z test or [The < i > operatory sortują leksykograficznie za pomocą ASCII
zamawianie.

czasy Wydrukuj skumulowane czasy użytkownika i systemu dla powłoki i dla uruchomionych procesów
z muszli. Status zwrotu to 0.

pułapka [-lp] [[arg] specyfikacja sig ...]
Komenda arg ma zostać odczytany i wykonany, gdy powłoka otrzyma sygnał(y)
specyfikacja sig. Jeśli arg jest nieobecny (a jest jeden specyfikacja sig) lub -, każdy określony
sygnał jest resetowany do swojej pierwotnej dyspozycji (wartości, jaką miał po wejściu do
muszla). Jeśli arg jest łańcuchem pustym sygnałem określonym przez każdy? specyfikacja sig jest ignorowany
przez powłokę i polecenia, które wywołuje. Gdyby arg nie jest obecny i -p został
dostarczone, a następnie polecenia pułapek związane z każdym z nich specyfikacja sig są wyświetlane. Jeśli nie
argumenty są podane lub jeśli tylko -p jest podawany, pułapka wyświetla listę poleceń
związane z każdym sygnałem. ten -l opcja powoduje, że powłoka wypisuje listę
nazwy sygnałów i odpowiadające im numery. Każdy specyfikacja sig to albo nazwa sygnału
zdefiniowany wsygnał.h> lub numer sygnału. W nazwach sygnałów nie jest rozróżniana wielkość liter i
dotychczasowy SIG prefiks jest opcjonalny.

Jeśli specyfikacja sig is EXIT (0) polecenie arg jest wykonywany przy wyjściu z powłoki. Jeśli
specyfikacja sig is DEBUG, Komenda arg jest wykonywany przed każdym prosty komenda, dla
Komenda, walizka Komenda, wybierać polecenie, każda arytmetyka dla polecenie, a przed
pierwsze polecenie jest wykonywane w funkcji powłoki (zobacz SHELL GRAMATYKA nad). Zapoznaj się z
opis extdebug opcja do zakupy wbudowany, aby uzyskać szczegółowe informacje na temat jego działania
na DEBUG pułapka. Jeśli specyfikacja sig is POWRÓT, Komenda arg jest wykonywany za każdym razem a
funkcja powłoki lub skrypt wykonywany za pomocą . or źródło wbudowane wykończenia
wykonanie.

Jeśli specyfikacja sig is ERR, Komenda arg jest wykonywany za każdym razem, gdy potok (który może
składać się z pojedynczego prostego polecenia), listy lub polecenia złożonego zwraca a
niezerowy status wyjścia, z zastrzeżeniem następujących warunków. ten ERR pułapka nie jest
wykonywane, jeśli nieudane polecenie jest częścią listy poleceń bezpośrednio po a
Podczas or aż do słowo kluczowe, część testu w an if oświadczenie, część polecenia
wykonany w a && or || lista z wyjątkiem polecenia następującego po finale && or ||, dowolne
polecenie w potoku, ale ostatnie, lub jeśli wartość zwracana przez polecenie to
odwrócony za pomocą !. Są to te same warunki, których przestrzega błąd (-e) opcja.

Sygnały ignorowane przy wejściu do powłoki nie mogą zostać przechwycone ani zresetowane. Uwięziony
sygnały, które nie są ignorowane, są resetowane do oryginalnych wartości w podpowłoce
lub środowisko podpowłoki, gdy jest tworzone. Zwrócony status jest fałszywy, jeśli istnieje
specyfikacja sig jest nieważny; Inaczej pułapka zwraca prawdę.

rodzaj [-aftpP] Nazwa [Nazwa ...]
Bez opcji, wskaż, jak każdy Nazwa zostanie zinterpretowany, jeśli zostanie użyty jako polecenie
imię. Jeśli -t używana jest opcja, rodzaj wypisuje ciąg, który jest jednym z alias,
keyword, funkcjonować, wbudowanylub filet if Nazwa jest aliasem, słowem zastrzeżonym powłoki,
odpowiednio funkcja, wbudowany lub plik dyskowy. Jeśli Nazwa nie znaleziono, to
nic nie jest drukowane i zwracany jest kod zakończenia false. Jeśli -p Jest opcja
używany, rodzaj albo zwraca nazwę pliku dyskowego, który zostałby wykonany, gdyby Nazwa
zostały podane jako nazwa polecenia, lub nic, jeśli ``type -t nazwa'' nie zwróci
filet, -P opcja wymusza a PATH szukaj każdego Nazwa, nawet jeśli ``wpisz -t nazwa''
nie wrócę filet. Jeśli polecenie jest haszowane, -p i -P wypisz zahaszowaną wartość,
który niekoniecznie jest plikiem, który pojawia się jako pierwszy w PATH, Jeśli -a Jest opcja
używany, rodzaj wyświetla wszystkie miejsca zawierające plik wykonywalny o nazwie Nazwa, To
zawiera aliasy i funkcje, wtedy i tylko wtedy, gdy -p opcja również nie jest używana. ten
tabela zaszyfrowanych poleceń nie jest sprawdzana podczas używania -a, -f opcja wyłącza
wyszukiwanie funkcji powłoki, tak jak w przypadku komenda wbudowany. rodzaj zwraca prawdę, jeśli wszystkie z
argumenty są znalezione, fałszywe, jeśli nie zostały znalezione.

ulimit [-HStabcdefilmnpqrstuvx [ograniczenie]]
Zapewnia kontrolę nad zasobami dostępnymi dla powłoki i uruchomionymi procesami
przez to na systemach, które umożliwiają taką kontrolę. ten -H i -S opcje określają, że
dla danego zasobu ustawiony jest twardy lub miękki limit. Twardego limitu nie można zwiększyć
przez użytkownika innego niż root po ustawieniu; limit miękki może zostać zwiększony do wartości
twardy limit. Jeśli nie -H ani -S jest określony, zarówno miękkie, jak i twarde granice
są ustawione. Wartość ograniczenie może być liczbą w jednostce określonej dla zasobu
lub jedna z wartości specjalnych ciężko, miękkilub nieograniczone, które oznaczają prąd
odpowiednio twardy limit, aktualny miękki limit i brak limitu. Jeśli ograniczenie is
pominięte, drukowana jest aktualna wartość miękkiego limitu zasobu, chyba że
-H podana jest opcja. Gdy określono więcej niż jeden zasób, nazwa limitu i
jednostki są drukowane przed wartością. Inne opcje są interpretowane w następujący sposób:
-a Wszystkie aktualne limity są zgłaszane
-b Maksymalny rozmiar bufora gniazda
-c Maksymalny rozmiar tworzonych plików podstawowych
-d Maksymalny rozmiar segmentu danych procesu
-e Maksymalny priorytet planowania („ładny”)
-f Maksymalny rozmiar plików zapisanych przez powłokę i jej dzieci
-i Maksymalna liczba oczekujących sygnałów
-l Maksymalny rozmiar, który można zablokować w pamięci
-m Maksymalny rozmiar zestawu rezydentnego (wiele systemów nie przestrzega tego limitu)
-n Maksymalna liczba deskryptorów otwartych plików (większość systemów na to nie zezwala)
wartość do ustawienia)
-p Rozmiar potoku w blokach 512-bajtowych (może nie być ustawiony)
-q Maksymalna liczba bajtów w kolejkach komunikatów POSIX
-r Maksymalny priorytet planowania w czasie rzeczywistym
-s Maksymalny rozmiar stosu
-t Maksymalna ilość czasu procesora w sekundach
-u Maksymalna liczba procesów dostępnych dla jednego użytkownika
-v Maksymalna ilość pamięci wirtualnej dostępnej dla powłoki, a w niektórych przypadkach
systemów, swoim dzieciom
-x Maksymalna liczba blokad plików
-T Maksymalna liczba wątków

If ograniczenie jest podany, a -a opcja nie jest używana, ograniczenie to nowa wartość
określony zasób. Jeśli nie podano żadnej opcji, to -f zakłada się. Wartości są w
1024-bajtowe przyrosty, z wyjątkiem -t, co jest w sekundach; -p, który jest w jednostkach
512-bajtowe bloki; oraz -T, -b, -n, -u, które są wartościami nieskalowanymi. Powrót
status wynosi 0, chyba że podano nieprawidłową opcję lub argument lub wystąpił błąd
podczas ustalania nowego limitu.

umaska [-p] [-S] [tryb]
Maska tworzenia pliku użytkownika jest ustawiona na tryb. Jeśli tryb zaczyna się od cyfry, to jest
interpretowane jako liczba ósemkowa; w przeciwnym razie jest interpretowana jako maska ​​trybu symbolicznego
podobny do akceptowanego przez chmod(1). Gdyby tryb jest pominięty, aktualna wartość
maska ​​jest drukowana. ten -S opcja powoduje wydrukowanie maski w formie symbolicznej; ten
domyślne wyjście to liczba ósemkowa. Jeśli -p opcja jest dostarczana i tryb is
pominięte, dane wyjściowe mają postać, która może być ponownie wykorzystana jako dane wejściowe. Status zwrotu to
0 jeśli tryb został pomyślnie zmieniony lub jeśli nie tryb argument został dostarczony i
fałsz inaczej.

alias [-a] [Nazwa ...]
Usuń każdy Nazwa z listy zdefiniowanych aliasów. Jeśli -a jest dostarczany, cały alias
definicje są usuwane. Zwracana wartość to prawda, chyba że podana Nazwa nie jest
zdefiniowany alias.

rozbrojony [-fv] [-n] [Nazwa ...]
Dla każdego Nazwa, usuń odpowiednią zmienną lub funkcję. Jeśli -v Jest opcja
podane, każdy Nazwa odnosi się do zmiennej powłoki, a ta zmienna jest usuwana. Czytać-
tylko zmienne nie mogą być usuwane. Jeśli -f jest określony, każdy Nazwa odnosi się do powłoki
funkcji, a definicja funkcji jest usuwana. Jeśli -n opcja jest dostarczana,
i Nazwa jest zmienną z nazwaref atrybut, Nazwa będzie rozbrojony, a nie
zmienna, do której się odwołuje. -n nie ma wpływu, jeśli -f opcja jest dostarczana. Jeśli nie
opcje są dostarczane, każda Nazwa odnosi się do zmiennej; jeśli nie ma zmiennej wg
pod tą nazwą, każda funkcja o tej nazwie jest nieustawiona. Każda nieustawiona zmienna lub funkcja
jest usuwany ze środowiska przekazywany do kolejnych poleceń. Jeśli którykolwiek z
COMP_WORDbreakS, LOSOWY, SEKUNDY, LINIA NIE, HISTCMD, NAZWA FUNKCJI, GRUPYlub KURTKA
są nieuzbrojone, tracą swoje specjalne właściwości, nawet jeśli zostaną później zresetowane.
Kod wyjścia to prawda, chyba że a Nazwa jest tylko do odczytu.

czekać [-n] [n ...]
Poczekaj na każdy określony proces podrzędny i zwróć jego status zakończenia. Każdy n
może być identyfikatorem procesu lub specyfikacją pracy; jeśli podana jest specyfikacja zadania, wszystkie procesy
w potoku tego zadania. Jeśli n nie podano, wszystkie aktualnie aktywne
oczekuje się na procesy potomne, a status powrotu wynosi zero. Jeśli -n Jest opcja
dostarczony, czekać czeka na zakończenie dowolnego zadania i zwraca jego status zakończenia. Jeśli n
określa nieistniejący proces lub zadanie, status powrotu to 127. W przeciwnym razie,
status powrotu to kod zakończenia ostatniego procesu lub zadania, na które oczekiwano.

OGRANICZONY SHELL


If bash zaczyna się od imienia rbaszLub -r opcja jest dostarczana przy wywołaniu,
powłoka staje się ograniczona. Ograniczona powłoka jest używana do konfigurowania środowiska więcej
kontrolowany niż standardowa powłoka. Zachowuje się identycznie jak bash z wyjątkiem
że następujące czynności są niedozwolone lub nie są wykonywane:

· zmiana katalogów za pomocą cd

· ustawienie lub rozbrojenie wartości SHELL, PATH, ENVlub BASH_ENV

· określanie nazw poleceń zawierających /

· określenie nazwy pliku zawierającej / jako argument do . wbudowane polecenie

· określenie nazwy pliku zawierającej ukośnik jako argument do -p opcja do
haszysz wbudowane polecenie

· importowanie definicji funkcji ze środowiska powłoki przy starcie

· parsowanie wartości MUSZLE ze środowiska powłoki przy starcie

· przekierowanie wyjścia za pomocą operatorów >, >|, <>, >&, &> i >> przekierowania

· używając exec wbudowane polecenie do zastąpienia powłoki innym poleceniem

· dodawanie lub usuwanie wbudowanych poleceń za pomocą -f i -d opcje do umożliwiać
wbudowane polecenie

· używając umożliwiać wbudowane polecenie, aby włączyć wyłączone wbudowane powłoki

· określenie -p opcja do komenda wbudowane polecenie

· wyłączenie trybu ograniczonego za pomocą zestaw +r or zestaw +o ograniczony.

Te ograniczenia są wymuszane po odczytaniu plików startowych.

Gdy wykonywane jest polecenie, które okaże się być skryptem powłoki (zobacz COMMAND WYKONANIE
nad), rbasz wyłącza wszelkie ograniczenia w powłoce tworzonej w celu wykonania skryptu.

Korzystaj z bash-static online za pomocą usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    XISMuS
    XISMuS
    UWAGA: Aktualizacja zbiorcza 2.4.3 ma
    został zwolniony!! Aktualizacja działa dla każdego
    poprzednia wersja 2.xx. W przypadku aktualizacji
    od wersji v1.xx proszę pobrać i
    i ...
    Pobierz XISMuS
  • 2
    facetracknoir
    facetracknoir
    Modułowy program do śledzenia ruchów głowy
    obsługuje wiele trackerów twarzy, filtrów
    i protokoły gier. Wśród tropicieli
    to SM FaceAPI, głowica inercyjna AIC
    Śledzenie ...
    Ściągnij facetracknoir
  • 3
    Kod QR dla PHP
    Kod QR dla PHP
    PHP QR Code jest open source (LGPL)
    biblioteka do generowania QR Code,
    2-wymiarowy kod kreskowy. Oparte na
    Biblioteka libqrencode C, zapewnia API dla
    tworzenie kodu kreskowego QR Code...
    Pobierz kod QR PHP
  • 4
    freeciv
    freeciv
    Freeciv to darmowa gra turowa
    wieloosobowa gra strategiczna, w której każdy
    gracz staje się liderem a
    cywilizacji, walcząc o uzyskanie
    ostateczny cel: być...
    Pobierz FreeCiv
  • 5
    Piaskownica z kukułką
    Piaskownica z kukułką
    Cuckoo Sandbox wykorzystuje komponenty do
    monitorować zachowanie złośliwego oprogramowania w
    Środowisko piaskownicy; odizolowany od
    reszta systemu. Oferuje zautomatyzowane
    analiza...
    Pobierz Cuckoo Sandbox
  • 6
    LMS-YouTube
    LMS-YouTube
    Odtwarzaj filmy z YouTube na LMS (przenoszenie plików
    Triode do YouTbe API v3) To jest
    aplikacja, którą można również pobrać
    od
    https://sourceforge.net/projects/lms-y...
    Pobierz LMS-YouTube
  • więcej »

Komendy systemu Linux

Ad