EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

bash – Online in der Cloud

Führen Sie Bash im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist die Befehls-Bash, die beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


bash - GNU Bourne-Again-SHell

ZUSAMMENFASSUNG


bash [Optionen] [Befehlszeichenfolge | Datei]

COPYRIGHT


Bash unterliegt dem Copyright (C) 1989-2013 der Free Software Foundation, Inc.

BESCHREIBUNG


Bash ist ein sh-kompatibler Befehlsspracheninterpreter, der Befehle ausführt, die aus dem gelesen wurden
Standardeingabe oder aus einer Datei. Bash enthält auch nützliche Funktionen aus dem Korn und C
Muscheln (ksh und csh).

Bash soll eine konforme Implementierung des Shell and Utilities-Teils von . sein
die IEEE POSIX-Spezifikation (IEEE-Standard 1003.1). Bash kann als POSIX-
standardmäßig konform.

OPTIONAL


Alle Shell-Optionen aus einem einzigen Zeichen, die in der Beschreibung des kompensieren
Der builtin-Befehl kann als Option verwendet werden, wenn die Shell aufgerufen wird. Zusätzlich, bash
interpretiert beim Aufruf die folgenden Optionen:

-c Besitzt das -c Option vorhanden ist, werden Befehle aus der ersten Nicht-Option gelesen
Argument Befehlszeichenfolge. Wenn es nach dem Argumente gibt BefehlszeichenfolgeSie
werden den Positionsparametern zugewiesen, beginnend mit $0.
-i Besitzt das -i Option ist vorhanden, die Shell ist interaktive.
-l Marke bash so verhalten, als wäre sie als Login-Shell aufgerufen worden (siehe AUFRUF unten).
-r Besitzt das -r Option vorhanden ist, wird die Shell eingeschränkt (sehen BESCHRÄNKT SHELL
unten).
-s Besitzt das -s Option vorhanden ist, oder wenn nach der Optionsverarbeitung keine Argumente übrig bleiben,
dann werden Befehle von der Standardeingabe gelesen. Diese Option ermöglicht die
Positionsparameter, die beim Aufrufen einer interaktiven Shell festgelegt werden.
-D Eine Liste aller Zeichenfolgen in doppelten Anführungszeichen, denen . vorangestellt ist $ ist auf dem Standard gedruckt
Ausgang. Dies sind die Zeichenfolgen, die einer Sprachübersetzung unterliegen, wenn die
aktuelles Gebietsschema ist nicht C or POSIX. Dies impliziert die -n Möglichkeit; keine Befehle werden
ausgeführt werden.
[-+]O [shopt_option]
shopt_option ist eine der Shell-Optionen, die von den einkaufen eingebaut (siehe
SHELL GEBAUT BEFEHLE unter). Wenn shopt_option ist anwesend, -O setzt den Wert von
diese Option; +O hebt es auf. Wenn shopt_option nicht mitgeliefert wird, die Namen und
Werte der Shell-Optionen akzeptiert von einkaufen sind auf dem Standard gedruckt
Ausgang. Wenn die Aufrufoption . ist +O, wird die Ausgabe in einem Format angezeigt
die als Eingabe wiederverwendet werden können.
-- A -- signalisiert das Ende von Optionen und deaktiviert die weitere Optionsverarbeitung. Irgendein
Argumente nach dem -- werden als Dateinamen und Argumente behandelt. Ein Argument von -
entspricht --.

Bash interpretiert auch eine Reihe von Mehrzeichenoptionen. Diese Optionen müssen auf angezeigt werden
die Befehlszeile vor den Einzelzeichenoptionen, die erkannt werden sollen.

- Debugger
Veranlassen Sie, dass das Debugger-Profil ausgeführt wird, bevor die Shell startet. Anmachen
erweiterten Debugging-Modus (siehe Beschreibung der extdebug Option zum einkaufen
unten eingebaut).
--dump-po-strings
Gleichwertig -D, aber die Ausgabe ist im GNU gettext po (tragbares Objekt) Datei
Format.
--dump-strings
Gleichwertig -D.
--help Zeigen Sie eine Verwendungsmeldung auf der Standardausgabe an und beenden Sie sie erfolgreich.
--init-Datei Datei
--rcfile Datei
Ausführen von Befehlen von Datei anstelle der systemweiten Initialisierungsdatei
/etc/bash.bashrc und die standardmäßige persönliche Initialisierungsdatei ~ / .bashrc wenn die
Shell ist interaktiv (siehe AUFRUF unten).

--Anmeldung
Gleichwertig -l.

--keine Bearbeitung
Verwenden Sie nicht das GNU readline Bibliothek zum Lesen von Befehlszeilen, wenn die Shell ist
interaktiv.

--kein Profil
Lesen Sie auch nicht die systemweite Startup-Datei / etc / profile oder eine der persönlichen
Initialisierungsdateien ~ / .bash_profile, ~ / .bash_login, oder ~ / .profile. Standardmäßig,
bash liest diese Dateien, wenn sie als Login-Shell aufgerufen wird (siehe AUFRUF unten).

--nork Die systemweite Initialisierungsdatei nicht lesen und ausführen /etc/bash.bashrc und
die persönliche Initialisierungsdatei ~ / .bashrc wenn die Shell interaktiv ist. Dies
Option ist standardmäßig aktiviert, wenn die Shell aufgerufen wird als sh.

--posix
Ändern Sie das Verhalten von bash wobei sich die Standardoperation von der POSIX unterscheidet
Standard, um dem Standard zu entsprechen (POSIX Modus). Sehen SEHEN AUCH unten für einen Verweis auf
ein Dokument, das detailliert beschreibt, wie sich der Posix-Modus auf das Verhalten von bash auswirkt.

--eingeschränkt
Die Shell wird eingeschränkt (siehe BESCHRÄNKT SHELL unten).

- ausführlich
Gleichwertig -v.

--Version
Versionsinformationen für diese Instanz von . anzeigen bash am Standardausgang und Ausgang
erfolgreich.

ARGUMENTE


Wenn Argumente nach der Optionsverarbeitung verbleiben und weder die -c noch das -s Option war
wird angenommen, dass das erste Argument der Name einer Datei ist, die Shell enthält
Befehle. Wenn bash wird auf diese Weise aufgerufen, $0 wird auf den Namen der Datei gesetzt, und die
Positionsparameter werden auf die verbleibenden Argumente gesetzt. Bash liest und führt aus
Befehle aus dieser Datei und wird dann beendet. BashDer Exit-Status von ist der Exit-Status des letzten
Befehl im Skript ausgeführt. Wenn keine Befehle ausgeführt werden, ist der Exit-Status 0. An
Es wird zuerst versucht, die Datei im aktuellen Verzeichnis zu öffnen, und wenn keine Datei gefunden wird,
dann durchsucht die Shell die Verzeichnisse in PATH für das Skript.

AUFRUF


A login Schale ist eine, deren erstes Zeichen von Argument Null a . ist -, oder man begann mit
--Anmeldung .

An interaktive Shell ist eine, die ohne Nicht-Optionsargumente und ohne die -c zu erhalten
deren Standardeingabe und Fehler beide mit Klemmen verbunden sind (wie durch
ist satt(3)), oder man begann mit dem -i . PS1 eingestellt ist und $- Dazu gehören i if bash is
interaktiv, sodass ein Shell-Skript oder eine Startdatei diesen Zustand testen kann.

Die folgenden Absätze beschreiben, wie bash führt seine Startdateien aus. Wenn einer der
Dateien existieren, können aber nicht gelesen werden, bash meldet einen Fehler. Tilden werden in Dateinamen erweitert
wie unten beschrieben unter Tilde Erweiterung der ERWEITERUNG .

Wann bash wird als interaktive Login-Shell aufgerufen, oder als nicht interaktive Shell mit dem
--Anmeldung Option liest und führt sie zuerst Befehle aus der Datei aus / etc / profileWenn, dass
Datei existiert. Nach dem Lesen dieser Datei sucht sie nach ~ / .bash_profile, ~ / .bash_login und
~ / .profile, in dieser Reihenfolge und liest und führt Befehle aus dem ersten vorhandenen aus
und ist lesbar. Die --kein Profil Option kann verwendet werden, wenn die Shell gestartet wird, um zu inhibieren
Dieses Verhalten.

Wenn eine Login-Shell beendet wird, bash liest und führt Befehle aus der Datei aus ~ / .bash_logout,
wenn es existiert.

Wenn eine interaktive Shell gestartet wird, die keine Login-Shell ist, bash liest und führt aus
Befehle von /etc/bash.bashrc und ~ / .bashrc, wenn diese Dateien vorhanden sind. Dies kann unterbunden werden
mit dem --nork Option. Die --rcfile Datei Option wird erzwingen bash lesen und ausführen
Befehle von Datei statt /etc/bash.bashrc und ~ / .bashrc.

Wann bash nicht interaktiv gestartet wird, um beispielsweise ein Shell-Skript auszuführen, sucht es nach
Die Variable BASH_ENV in der Umwelt, steigert seinen Wert, wenn es dort auftaucht, und nutzt
der erweiterte Wert als Name einer zu lesenden und auszuführenden Datei. Bash verhält sich so, als ob die
Folgender Befehl wurde ausgeführt:
if [ -n "$BASH_ENV" ]; dann . "$BASH_ENV"; fi
aber der Wert der PATH Variable wird nicht verwendet, um nach dem Dateinamen zu suchen.

If bash wird mit dem Namen aufgerufen sh, es versucht, das Startverhalten von historischen nachzuahmen
Versionen sh so genau wie möglich und gleichzeitig dem POSIX-Standard entsprechen.
Beim Aufruf als interaktive Login-Shell oder als nicht interaktive Shell mit dem --Anmeldung
Option versucht es zuerst, Befehle von zu lesen und auszuführen / etc / profile und ~ / .profile,
in dieser Reihenfolge. Die --kein Profil Option kann verwendet werden, um dieses Verhalten zu unterbinden. Bei Aufruf
als interaktive Shell mit dem Namen sh, bash sucht die Variable ENV, erweitert seine
value, wenn er definiert ist, und verwendet den erweiterten Wert als Namen einer zu lesenden Datei und
ausführen. Da eine Shell aufgerufen wurde als sh versucht nicht, Befehle von zu lesen und auszuführen
alle anderen Startdateien, die --rcfile Option hat keine Auswirkung. Eine nicht interaktive Shell
aufgerufen mit dem Namen sh versucht nicht, andere Startdateien zu lesen. Bei Aufruf
as sh, bash tritt POSIX Modus, nachdem die Startdateien gelesen wurden.

Wann bash wird gestartet in POSIX Modus, wie bei der --posix Befehlszeilenoption, es folgt
der POSIX-Standard für Startdateien. In diesem Modus erweitern interaktive Shells die ENV
Variable und Befehle werden aus der Datei gelesen und ausgeführt, deren Name das expandierte . ist
Wert. Andere Startdateien werden nicht gelesen.

Bash versucht festzustellen, wann es ausgeführt wird, wobei der Standardeingang an a . angeschlossen ist
Netzwerkverbindung, wie sie normalerweise vom Remote-Shell-Daemon ausgeführt wird rshdOder das
sicherer Shell-Daemon sshd. Wenn bash feststellt, dass es auf diese Weise ausgeführt wird, lautet es
und führt Befehle von aus ~ / .bashrc und ~ / .bashrc, wenn diese Dateien vorhanden und lesbar sind.
Es wird dies nicht tun, wenn es aufgerufen wird als shdem „Vermischten Geschmack“. Seine --nork Option kann verwendet werden, um dies zu verhindern
Verhalten und die --rcfile Option kann verwendet werden, um das Lesen einer anderen Datei zu erzwingen, aber
weder rshd noch sshd Rufen Sie im Allgemeinen die Shell mit diesen Optionen auf oder lassen Sie sie zu
spezifiziert.

Wenn die Shell mit der effektiven Benutzer-(Gruppen-)ID gestartet wird, die nicht der tatsächlichen Benutzer-ID entspricht
(Gruppen-)ID und die -p Option wird nicht mitgeliefert, es werden keine Startup-Dateien gelesen, Shell-Funktionen
werden nicht von der Umwelt vererbt, die Schalentiere, BASHOPTEN, CDPATH und GLOBIGNORE
Variablen werden ignoriert, wenn sie in der Umgebung vorkommen, und die effektive Benutzer-ID lautet
auf die echte Benutzer-ID setzen. Wenn die -p Option wird beim Aufruf bereitgestellt, das Startverhalten
ist gleich, aber die effektive Benutzer-ID wird nicht zurückgesetzt.

DEFINITIONEN


Die folgenden Definitionen werden im Rest dieses Dokuments verwendet.
leer Ein Leerzeichen oder eine Registerkarte.
Wort Eine Folge von Zeichen, die von der Shell als eine Einheit betrachtet wird. Auch bekannt als
Zeichen.
Name A Wort bestehend nur aus alphanumerischen Zeichen und Unterstrichen und Beginn
mit einem alphabetischen Zeichen oder einem Unterstrich. Auch als an . bezeichnet Kennzeichnung.
Metazeichen
Ein Zeichen, das, wenn es nicht zitiert wird, Wörter trennt. Einer der folgenden:
| & ; ( ) < > Raum Tab
Smartgeräte App Operator
A Zeichen die eine Kontrollfunktion ausübt. Es ist eines der folgenden Symbole:
|| & && ; ;; ( ) | |&

RESERVIERT WORTE


Reserviert Worte sind Wörter, die für die Schale eine besondere Bedeutung haben. Die folgenden Worte
werden als reserviert erkannt, wenn sie nicht in Anführungszeichen stehen und entweder das erste Wort eines einfachen Befehls
(sehen SHELL GRAMMATIK unten) oder das dritte Wort von a Häuser or für Befehl:

! Häuser koprok do erledigt elif sonst esac fi für Funktion if in wählen dann bis während { }
Zeit [[ ]]

SHELL GRAMMATIK


Einfacher Befehle
A einfach Befehl ist eine Folge optionaler Variablenzuweisungen gefolgt von leer-
getrennte Wörter und Umleitungen, und abgeschlossen mit a Smartgeräte App Operator. Das erste Wort
gibt den auszuführenden Befehl an und wird als Argument Null übergeben. Die restlichen Wörter
werden als Argumente an den aufgerufenen Befehl übergeben.

Der Rückgabewert von a einfach Befehl ist sein Exit-Status oder 128+n wenn der Befehl ist
durch Signal beendet n.

Pipelines
A Pipeline ist eine Folge von einem oder mehreren Befehlen, die durch einen der Kontrolloperatoren getrennt sind
| or |&. Das Format für eine Pipeline ist:

[Zeit [-p]] [ ! ] Befehl [[||&] command2 ... ]

Die Standardausgabe von Befehl wird über eine Leitung an den Standardeingang von . angeschlossen command2.
Diese Verbindung wird vor allen Umleitungen ausgeführt, die durch den Befehl angegeben werden (siehe
UMLEITUNG unter). Wenn |& wird genutzt, Befehl's Standardfehler, zusätzlich zu seinem Standard
Ausgang, ist verbunden mit command2's Standardeingabe durch die Pipe; es ist eine Abkürzung für
2> & 1 |. Diese implizite Umleitung des Standardfehlers auf die Standardausgabe ist
wird nach allen vom Befehl angegebenen Umleitungen ausgeführt.

Der Rückgabestatus einer Pipeline ist der Exit-Status des letzten Befehls, es sei denn, der
Rohrfehler Option aktiviert ist. Wenn Rohrfehler aktiviert ist, ist der Rückgabestatus der Pipeline der
Wert des letzten (ganz rechts) Befehls zum Beenden mit einem Nicht-Null-Status oder Null, wenn alle
Befehle werden erfolgreich beendet. Wenn das reservierte Wort ! vor einer Pipeline, der Exit-Status
dieser Pipeline ist die logische Negation des Exit-Status, wie oben beschrieben. die Muschel
wartet, bis alle Befehle in der Pipeline beendet sind, bevor ein Wert zurückgegeben wird.

Besitzt das Zeit reserviertes Wort geht vor einer Pipeline, der verstrichenen sowie der Benutzer- und Systemzeit
von seiner Ausführung verbraucht werden, werden gemeldet, wenn die Pipeline beendet wird. Die -p zu erhalten
ändert das Ausgabeformat in das von POSIX angegebene Format. Wenn die Schale drin ist POSIX ModusEs
nicht erkannt Zeit als reserviertes Wort, wenn das nächste Token mit einem `-' beginnt. Die
ZEITFORMAT Variable kann auf eine Formatzeichenfolge gesetzt werden, die angibt, wie das Timing
Informationen sollten angezeigt werden; siehe die Beschreibung von ZEITFORMAT für Schale Variablen
unten.

Wenn die Schale drin ist POSIX Modus, Zeit kann ein Zeilenumbruch folgen. In diesem Fall ist die
Shell zeigt die gesamte Benutzer- und Systemzeit an, die von der Shell und ihren Kindern verbraucht wird. Die
ZEITFORMAT Variable kann verwendet werden, um das Format der Zeitinformationen zu spezifizieren.

Jeder Befehl in einer Pipeline wird als separater Prozess (dh in einer Subshell) ausgeführt.

Listen
A Liste ist eine Folge von einer oder mehreren Pipelines, die durch einen der Operatoren getrennt sind ;, &, &&,
or ||, und optional beendet mit einem von ;, &, oder .

Von diesen Listenoperatoren && und || haben gleichen Vorrang, gefolgt von ; und &, die haben
gleichen Vorrang.

Eine Folge von einem oder mehreren Zeilenumbrüchen kann in a . erscheinen Liste anstelle eines Semikolons zum Trennen
Befehle.

Wird ein Befehl vom Bedienpersonal abgebrochen &, führt die Shell den Befehl in . aus
Hintergrund in einer Unterschale. Die Shell wartet nicht, bis der Befehl beendet ist, und die
Rückgabestatus ist 0. Befehle getrennt durch a ; werden sequentiell ausgeführt; die schale wartet
damit jeder Befehl der Reihe nach beendet wird. Der Rückgabestatus ist der Austrittsstatus des letzten
Befehl ausgeführt.

UND- und ODER-Listen sind Sequenzen einer oder mehrerer Pipelines, getrennt durch das && und || Smartgeräte App
Betreiber bzw. UND- und ODER-Listen werden mit linker Assoziativität ausgeführt. Ein UND
Liste hat die Form

command1 && command2

command2 wird ausgeführt, wenn und nur wenn command1 gibt einen Exit-Status von Null zurück.

Eine ODER-Liste hat die Form

command1 || command2

command2 wird genau dann ausgeführt, wenn command1 gibt einen Exit-Status ungleich null zurück. Die Rückkehr
Status von UND- und ODER-Listen ist der Ausgangsstatus des letzten ausgeführten Befehls in der Liste.

Compounds Befehle
A Verbindung Befehl ist einer der folgenden. In den meisten Fällen a Liste in einem Befehl
Beschreibung kann durch einen oder mehrere Zeilenumbrüche vom Rest des Befehls getrennt werden und kann
gefolgt von einem Zeilenumbruch anstelle eines Semikolons.

(Liste) Liste wird in einer Subshell-Umgebung ausgeführt (siehe COMMAND EXECUTION
unter). Variablenzuweisungen und eingebaute Befehle, die sich auf die Shells auswirken
-Umgebung bleiben nach Abschluss des Befehls nicht in Kraft. Der Rückgabestatus
ist der Austrittsstatus von Liste.

{ Liste;; }}
Liste wird einfach in der aktuellen Shell-Umgebung ausgeführt. Liste muss beendet werden
mit einem Zeilenumbruch oder Semikolon. Dies ist bekannt als a Gruppe Befehl. Der Rückgabestatus
ist der Austrittsstatus von Liste. Beachten Sie, dass im Gegensatz zu den Metazeichen ( und ), { und }
sind reserviert Worte und muss dort vorkommen, wo ein reserviertes Wort erlaubt sein darf
anerkannt. Da sie keinen Wortumbruch verursachen, müssen sie getrennt werden von Liste
durch Leerzeichen oder ein anderes Shell-Metazeichen.

((Ausdruck))
Das Ausdruck wird nach den unten unter . beschriebenen Regeln bewertet ARITHMETIK
BEWERTUNG. Wenn der Wert des Ausdrucks nicht null ist, ist der Rückgabestatus 0;
andernfalls ist der Rückgabestatus 1. Dies entspricht genau lassen "Ausdruck".

[[ Ausdruck ]]
Gibt einen Status von 0 oder 1 zurück, abhängig von der Auswertung des bedingten Ausdrucks
Ausdruck. Ausdrücke setzen sich aus den unten unter . beschriebenen Primärfarben zusammen
BEDINGT AUSDRÜCKE. Wortaufteilung und Pfadnamenerweiterung werden nicht durchgeführt
zu den Wörtern zwischen den [[ und ]]; Tildeexpansion, Parameter und Variable
Erweiterung, arithmetische Erweiterung, Befehlsersetzung, Prozessersetzung und
Angebotsentfernung durchgeführt wird. Bedingte Operatoren wie -f muss nicht zitiert werden
als Vorwahlen anerkannt werden.

Bei Verwendung mit [[, der < und > Operatoren sortieren lexikografisch nach dem aktuellen
lokal.

Siehe die Beschreibung der Test eingebauter Befehl (Abschnitt SHELL BUILTIN COMMANDS weiter unten) für
der Umgang mit Parametern (dh fehlende Parameter).

Wenn das == und != Operatoren verwendet werden, ist die Zeichenfolge rechts vom Operator
als Muster betrachtet und nach den unten unter . beschriebenen Regeln abgeglichen Schnittmuster
Abstimmung, als ob die extglob Shell-Option wurden aktiviert. Die = Operator ist äquivalent zu
==. Wenn die Shell-Option nocasematch aktiviert ist, wird das Spiel ohne Rücksicht auf
bei alphabetischen Zeichen. Der Rückgabewert ist 0, wenn die Zeichenfolge übereinstimmt (==oder
stimmt nicht überein (!=) das Muster und 1 ansonsten. Jeder Teil des Musters kann zitiert werden
um zu erzwingen, dass der zitierte Teil als String abgeglichen wird.

Ein zusätzlicher binärer Operator, =~, ist verfügbar, mit der gleichen Priorität wie == und !=.
Wenn es verwendet wird, wird die Zeichenfolge rechts vom Operator als erweitertes Reguläres betrachtet
Ausdruck und entsprechend abgeglichen (wie in Regex(3)). Der Rückgabewert ist 0, wenn die Zeichenfolge
stimmt mit dem Muster überein und 1 ansonsten. Wenn der reguläre Ausdruck syntaktisch ist
falsch, der Rückgabewert des bedingten Ausdrucks ist 2. Wenn die Shell-Option
nocasematch aktiviert ist, wird der Abgleich ohne Berücksichtigung der Groß-/Kleinschreibung durchgeführt
Zeichen. Jeder Teil des Musters kann zitiert werden, um den zitierten Teil zu erzwingen
als String abgeglichen. Klammerausdrücke in regulären Ausdrücken müssen behandelt werden
vorsichtig, da normale Anführungszeichen ihre Bedeutung zwischen Klammern verlieren. Wenn die
Muster wird in einer Shell-Variablen gespeichert, wobei die Variable die Expansion erzwingt das gesamte
Muster, das als String abgeglichen werden soll. Teilstrings, die durch in Klammern gesetzte Teilausdrücke übereinstimmen
innerhalb des regulären Ausdrucks werden in der Array-Variable gespeichert BASH_REMATCH. Das Element
of BASH_REMATCH mit Index 0 ist der Teil des Strings, der dem gesamten Regular entspricht
Ausdruck. Das Element von BASH_REMATCH mit Index n ist der Teil der Zeichenfolge
passend zum ngeklammerter Unterausdruck.

Ausdrücke können mit den folgenden Operatoren kombiniert werden, aufgelistet in absteigender Reihenfolge von
Vorrang:

( Ausdruck )
Gibt den Wert von zurück Ausdruck. Dies kann verwendet werden, um das Normale zu überschreiben
Vorrang der Operatoren.
! Ausdruck
Wahr, wenn Ausdruck ist falsch.
Ausdruck1 && Ausdruck2
Stimmt, wenn beides Ausdruck1 und Ausdruck2 sind wahr.
Ausdruck1 || Ausdruck2
Stimmt, wenn entweder Ausdruck1 or Ausdruck2 ist wahr.

Das && und || Betreiber bewerten nicht Ausdruck2 wenn der Wert von Ausdruck1 is
ausreichend, um den Rückgabewert des gesamten bedingten Ausdrucks zu bestimmen.

für Name [[ in [ Wort ... ] ] ; ] do Liste ; erledigt
Die Liste der folgenden Wörter in wird erweitert, wodurch eine Liste von Elementen generiert wird. Die
Variable Name wird der Reihe nach auf jedes Element dieser Liste gesetzt, und Liste ausgeführt wird
jedes Mal. Wenn die in Wort entfällt, die für Befehl wird ausgeführt Liste einmal für jeden
eingestellten Positionsparameter (siehe PARAMETER unter). Der Rückgabestatus ist der
Exit-Status des letzten ausgeführten Befehls. Wenn die Erweiterung der Artikel
Folgende in ergibt eine leere Liste, es werden keine Befehle ausgeführt und die Rückgabe
Status ist 0.

für (( Ausdruck1 ; Ausdruck2 ; Ausdruck3 )) ; do Liste ; erledigt
Zuerst der arithmetische Ausdruck Ausdruck1 wird nach den Regeln bewertet
unten beschrieben unter ARITHMETIK BEWERTUNG. Der arithmetische Ausdruck Ausdruck2 is
dann wiederholt ausgewertet, bis es zu Null ausgewertet wird. Jedes Mal Ausdruck2 bewertet zu
ein Wert ungleich Null, Liste ausgeführt wird und der arithmetische Ausdruck Ausdruck3 is
bewertet. Wenn ein Ausdruck weggelassen wird, verhält er sich so, als ob er 1 ergibt
Rückgabewert ist der Exit-Status des letzten Befehls in Liste das wird ausgeführt, oder
false, wenn einer der Ausdrücke ungültig ist.

wählen Name [ in Wort ]; do Liste ; erledigt
Die Liste der folgenden Wörter in wird erweitert, wodurch eine Liste von Elementen generiert wird. Der Satz von
erweiterte Wörter werden auf dem Standardfehler gedruckt, wobei jedem eine Zahl vorangestellt ist. Wenn die
in Wort weggelassen wird, werden die Positionsparameter gedruckt (siehe PARAMETER unten).
Das PS3 Anschließend wird die Eingabeaufforderung angezeigt und eine Zeile aus der Standardeingabe gelesen. Wenn die
Zeile besteht aus einer Zahl, die einem der angezeigten Wörter entspricht, dann wird die
Wert von Name ist auf dieses Wort eingestellt. Wenn die Zeile leer ist, sind die Wörter und die Aufforderung
wieder angezeigt. Wenn EOF gelesen wird, wird der Befehl abgeschlossen. Jeder andere Wert gelesen
Ursachen Name auf null gesetzt werden. Die gelesene Zeile wird in der Variablen gespeichert ANTWORTENdem „Vermischten Geschmack“. Seine
Liste wird nach jeder Auswahl ausgeführt, bis a brechen Befehl ausgeführt wird. Der Ausgang
Status von wählen ist der Exit-Status des letzten ausgeführten Befehls in Liste, oder null
wenn keine Befehle ausgeführt wurden.

Häuser Wort in [ [(] Anleitungen [ | Anleitungen ] ... ) Liste ;; ] ... esac
A Häuser Befehl wird zuerst erweitert Wort, und versucht, es gegeneinander abzugleichen Anleitungen in
wiederum mit den gleichen Abgleichsregeln wie bei der Pfadnamenerweiterung (siehe Pfadname
Erweiterung unter). Die Wort wird mit Tilde-Expansion, Parameter und . erweitert
Variablenexpansion, arithmetische Substitution, Befehlssubstitution, Prozess
Ersetzung und Entfernung von Angeboten. Jeder Anleitungen untersucht wird mit Tilde erweitert
Expansion, Parameter- und Variablenexpansion, arithmetische Substitution, Befehl
Substitution und Prozesssubstitution. Wenn die Shell-Option nocasematch is
aktiviert ist, wird die Übereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung durchgeführt
Zeichen. Wenn eine Übereinstimmung gefunden wird, wird das entsprechende Liste ausgeführt wird. Wenn die ;;
Operator verwendet wird, werden nach dem ersten Muster keine weiteren Übereinstimmungen versucht
Spiel. Verwenden von ;& an Stelle von ;; bewirkt, dass die Ausführung mit dem fortgesetzt wird Liste
mit dem nächsten Satz von Mustern verknüpft. Verwenden von ;;& an Stelle von ;; verursacht die
Shell, um die nächste Musterliste in der Anweisung zu testen, falls vorhanden, und ausführen
damit verbundenen Liste auf ein erfolgreiches Spiel. Der Exit-Status ist null, wenn kein Muster vorliegt
Streichhölzer. Andernfalls ist es der Exit-Status des letzten ausgeführten Befehls in Liste.

if Liste; dann Liste;; [ elif Liste; dann Liste; ] ... [ sonst Liste;; ]] fi
Das if Liste ausgeführt wird. Wenn der Exit-Status null ist, wird die dann Liste ausgeführt wird.
Ansonsten jeder elif Liste wird der Reihe nach ausgeführt, und wenn sein Exit-Status Null ist, wird der
entsprechenden dann Liste ausgeführt und der Befehl abgeschlossen. Ansonsten der sonst
Liste ausgeführt wird, falls vorhanden. Der Exit-Status ist der Exit-Status des letzten
Befehl ausgeführt, oder null, wenn keine Bedingung wahr ist.

während Liste-1; do Liste-2; erledigt
bis Liste-1; do Liste-2; erledigt
Das während Befehl führt die Liste kontinuierlich aus Liste-2 solange der letzte Befehl
In der Liste Liste-1 gibt einen Exit-Status von Null zurück. Die bis Befehl ist identisch
zu den während Befehl, außer dass der Test negiert wird; Liste-2 wird so lange ausgeführt
als letzter Befehl in Liste-1 gibt einen Exit-Status ungleich null zurück. Der Austrittsstatus von
während und bis commands ist der Exit-Status des letzten ausgeführten Befehls in
Liste-2, oder null, wenn keine ausgeführt wurde.

Koprozesse
A Coprozess ist ein Shell-Befehl, dem das vorangestellt ist koprok reserviertes Wort. Ein Coprozess ist
asynchron in einer Subshell ausgeführt, als ob der Befehl mit dem beendet worden wäre &
Kontrolloperator, mit einer Zwei-Wege-Leitung zwischen der ausführenden Schale und dem
mitverarbeiten.

Das Format für einen Coprozess ist:

koprok [NAME/FUNKTION] Befehl [Umleitungen]

Dadurch entsteht ein Coprozess namens NAME/FUNKTION. Wenn NAME/FUNKTION wird nicht mitgeliefert, der Standardname ist COPROC.
NAME/FUNKTION darf nicht geliefert werden, wenn Befehl ist eine einfach Befehl (siehe oben); sonst ist es
als erstes Wort des einfachen Befehls interpretiert. Wenn der Coprozess ausgeführt wird, wird die
Shell erstellt eine Array-Variable (siehe Arrays unten) genannt NAME/FUNKTION im Rahmen der
Shell ausführen. Die Standardausgabe von Befehl ist über eine Pipe mit einer Datei verbunden
Deskriptor in der ausführenden Shell, und dieser Dateideskriptor ist zugewiesen NAME/FUNKTION[0]. Die
Standardeingabe von Befehl ist über eine Pipe mit einem Dateideskriptor im ausführenden . verbunden
Shell, und dieser Dateideskriptor ist zugewiesen NAME/FUNKTION[1]. Dieses Rohr wird vorher hergestellt
alle vom Befehl angegebenen Umleitungen (siehe UMLEITUNG unter). Die Dateideskriptoren
kann als Argument für Shell-Befehle und Umleitungen mit Standardwort verwendet werden
Erweiterungen. Die Dateideskriptoren sind in Subshells nicht verfügbar. Die Prozess-ID des
Shell, die zum Ausführen des Coprozesses erzeugt wurde, ist als Wert der Variablen verfügbar NAME/FUNKTION_PID.
Das warten Der eingebaute Befehl kann verwendet werden, um auf die Beendigung des Coprozesses zu warten.

Da der Coprozess als asynchroner Befehl erstellt wird, ist die koprok Befehl immer
gibt den Erfolg zurück. Der Rückgabestatus eines Coprozesses ist der Austrittsstatus von Befehl.

Schale Funktion Definitionen
Eine Shell-Funktion ist ein Objekt, das wie ein einfacher Befehl aufgerufen wird und eine Verbindung ausführt
Befehl mit einem neuen Satz von Positionsparametern. Shell-Funktionen werden wie folgt deklariert:

Name () zusammengesetzter Befehl [Umleitung]
Funktion Name [()] zusammengesetzter Befehl [Umleitung]
Dies definiert eine Funktion namens Name. Das reservierte Wort Funktion es ist optional. Wenn
Funktion reserviertes Wort angegeben wird, sind die Klammern optional. Die Körper of
die Funktion ist der zusammengesetzte Befehl zusammengesetzter Befehl (sehen Compounds Befehle
Oben). Dieser Befehl ist normalerweise a Liste von Befehlen zwischen { und }, kann aber beliebig sein
Befehl aufgeführt unter Compounds Befehle zu teilen. zusammengesetzter Befehl ausgeführt wird
sobald Name wird als Name eines einfachen Befehls angegeben. Wenn in POSIX Modus,
Name darf nicht der Name eines der POSIX sein besondere gebaut. Alle Umleitungen
(sehen UMLEITUNG unten), die bei der Definition einer Funktion angegeben werden, werden ausgeführt, wenn die
Funktion ausgeführt wird. Der Exit-Status einer Funktionsdefinition ist Null, es sei denn, a
Syntaxfehler auftritt oder eine schreibgeschützte Funktion mit demselben Namen bereits vorhanden ist. Wann
ausgeführt, ist der Exit-Status einer Funktion der Exit-Status des letzten Befehls
im Körper ausgeführt. (Sehen FUNKTIONEN unten.)

IHRE NACHRICHT


In einer nicht interaktiven Shell oder einer interaktiven Shell, in der die interaktive_Kommentare
Option zum einkaufen Builtin ist aktiviert (siehe SHELL GEBAUT BEFEHLE unten), ein Wort
mit ... anfangen # bewirkt, dass dieses Wort und alle verbleibenden Zeichen in dieser Zeile ignoriert werden.
Eine interaktive Shell ohne die interaktive_Kommentare Option aktiviert lässt nicht zu
Bemerkungen. Das interaktive_Kommentare Option ist in interaktiven Shells standardmäßig aktiviert.

ZITIEREN


Zitieren wird verwendet, um der Shell die besondere Bedeutung bestimmter Zeichen oder Wörter zu entziehen.
Anführungszeichen können verwendet werden, um die Sonderbehandlung für Sonderzeichen zu deaktivieren, um zu verhindern, dass
reservierte Wörter als solche erkannt und Parametererweiterungen verhindert werden.

Jeder der Metazeichen oben aufgeführt unter DEFINITIONEN hat eine besondere Bedeutung für die Schale
und muss zitiert werden, wenn es sich selbst darstellen soll.

Wenn die Funktionen zur Erweiterung des Befehlsverlaufs verwendet werden (siehe GESCHICHTE ERWEITERUNG
unter dem Geschichte Expansion Charakter, normalerweise !, muss zitiert werden, um Geschichte zu verhindern
Erweiterung.

Es gibt drei Zitiermechanismen: die Flucht Charakter, einfache Anführungszeichen und doppelte
Zitate.

Ein nicht in Anführungszeichen gesetzter Backslash (\) Ist Flucht Charakter. Es bewahrt den wörtlichen Wert des
nächstes Zeichen, das folgt, mit Ausnahme von . Wenn eine \Paar
erscheint und der Backslash selbst nicht zitiert wird, \wird als Linie behandelt
Fortsetzung (d. h., sie wird aus dem Eingabestrom entfernt und effektiv ignoriert).

Das Einschließen von Zeichen in einfache Anführungszeichen bewahrt den Literalwert jedes Zeichens innerhalb
Die Zitate. Zwischen einfachen Anführungszeichen darf kein einfaches Anführungszeichen stehen, selbst wenn ein a . vorangestellt ist
umgekehrter Schrägstrich.

Das Einschließen von Zeichen in doppelte Anführungszeichen bewahrt den Literalwert aller Zeichen innerhalb
die Zitate, mit Ausnahme von $, `, \, und wenn die Verlaufserweiterung aktiviert ist, !dem „Vermischten Geschmack“. Seine
Zeichen $ und ` behalten ihre besondere Bedeutung in doppelten Anführungszeichen. Der Backslash
behält seine besondere Bedeutung nur, wenn eines der folgenden Zeichen folgt: $, `,
", \, oder . Ein doppeltes Anführungszeichen kann in doppelten Anführungszeichen gesetzt werden, indem es vorangestellt wird
mit Backslash. Wenn aktiviert, wird die Verlaufserweiterung durchgeführt, es sei denn, ein ! erscheinen
in doppelten Anführungszeichen wird mit einem Backslash maskiert. Der Backslash vor dem ! ist nicht
entfernt.

Die speziellen Parameter * und @ haben eine besondere Bedeutung, wenn sie in doppelten Anführungszeichen stehen (siehe PARAMETER
unten).

Wörter der Form $'Schnur“ werden speziell behandelt. Das Wort erweitert sich zu Schnur, mit
Backslash-escape-Zeichen, die gemäß ANSI-C-Standard ersetzt werden. Backslash
Escape-Sequenzen, falls vorhanden, werden wie folgt dekodiert:
\a Alarm (Glocke)
\b Rücktaste
\e
\E ein Escape-Zeichen
\f Formularvorschub
\n Neue Zeile
\r Wagenrücklauf
\t horizontale Registerkarte
\v vertikale Lasche
\\ umgekehrter Schrägstrich
\' einfaches Anführungszeichen
\" Doppelzitat
\nnn das Acht-Bit-Zeichen, dessen Wert der Oktalwert ist nnn (eins zu drei
Ziffern)
\xHH das Acht-Bit-Zeichen, dessen Wert der Hexadezimalwert ist HH (ein oder zwei
Hex-Ziffern)
\uHhhh das Unicode-Zeichen (ISO/IEC 10646), dessen Wert der Hexadezimalwert ist
Hhhh (ein bis vier Hex-Ziffern)
\UHHHHHHH
das Unicode-Zeichen (ISO/IEC 10646), dessen Wert der Hexadezimalwert ist
HHHHHHH (ein bis acht Hex-Ziffern)
\cx Eine Kontrolle-x Charakter

Das erweiterte Ergebnis wird in einfache Anführungszeichen gesetzt, als ob das Dollarzeichen nicht vorhanden wäre.

Eine Zeichenfolge in doppelten Anführungszeichen, der ein Dollarzeichen ($"Schnur") bewirkt, dass die Zeichenfolge
entsprechend dem aktuellen Gebietsschema übersetzt. Wenn das aktuelle Gebietsschema C or POSIX, der
Dollarzeichen wird ignoriert. Wenn die Zeichenfolge übersetzt und ersetzt wird, lautet die Ersetzung
doppelt zitiert.

PARAMETER


A Parameter ist eine Entität, die Werte speichert. Es kann ein Name, eine Zahl oder eine der
Sonderzeichen unten aufgeführt unter Spezial Parameter. Eine Variable ist ein Parameter
bezeichnet mit a Name. Eine Variable hat a Wert und null oder mehr Attribute. Attribute sind
zugewiesen mit dem erklären eingebauter Befehl (siehe erklären unten in SHELL GEBAUT BEFEHLE).

Ein Parameter ist gesetzt, wenn ihm ein Wert zugewiesen wurde. Die Nullzeichenfolge ist ein gültiger Wert.
Wenn eine Variable einmal gesetzt ist, kann sie nur mit dem ungesetzt eingebauter Befehl (siehe SHELL
GEBAUT BEFEHLE unten).

A Variable kann durch eine Angabe der Form zugeordnet werden

Name=[Wert]

If Wert nicht angegeben ist, wird der Variablen der Null-String zugewiesen. Alle Werte unterziehen tilde
Erweiterung, Parameter- und Variablenerweiterung, Befehlsersetzung, arithmetische Erweiterung,
und Entfernung von Angeboten (siehe ERWEITERUNG unter). Wenn die Variable seine ganze Zahl Attributsatz,
dann Wert wird als arithmetischer Ausdruck ausgewertet, auch wenn die $((...))-Erweiterung nicht
gebraucht (siehe Arithmetik Erweiterung unter). Eine Wortaufteilung wird nicht durchgeführt, mit der
Ausnahme von "$@" wie unten erklärt unter Spezial Parameter. Pfadnamenerweiterung ist nicht
durchgeführt. Zuweisungsanweisungen können auch als Argumente für die alias, erklären,
setzen, exportieren, schreibgeschützt und aus einer regionalen eingebaute Befehle. Wenn in POSIX Modus, diese eingebauten
kann in einem Befehl nach einer oder mehreren Instanzen von . erscheinen Befehl eingebaut und behalten
diese Eigenschaften der Zuweisungsanweisung.

In dem Kontext, in dem eine Zuweisungsanweisung einer Shell-Variablen einen Wert zuweist oder
Array-Index kann der +=-Operator verwendet werden, um an den vorherigen der Variablen anzuhängen oder hinzuzufügen
Wert. Wenn += auf eine Variable angewendet wird, für die die ganze Zahl Attribut wurde gesetzt,
Wert wird als arithmetischer Ausdruck ausgewertet und zum aktuellen Wert der Variablen addiert,
was auch ausgewertet wird. Wenn += mit Compound . auf eine Array-Variable angewendet wird
Auftrag (siehe Arrays unten), der Wert der Variablen wird nicht zurückgesetzt (wie bei der Verwendung von =),
und neue Werte werden an das Array angehängt, beginnend bei eins größer als das Maximum des Arrays
index (für indizierte Arrays) oder als zusätzliche Schlüssel-Wert-Paare in einem assoziativen Array hinzugefügt.
Bei Anwendung auf eine String-Wert-Variable, Wert wird erweitert und an die Variable angehängt
Wert.

Einer Variablen kann die Namensnennung Attribut mit dem -n Option zum erklären or
aus einer regionalen eingebaute Befehle (siehe die Beschreibungen von erklären und aus einer regionalen unten), um a . zu erstellen
Namensnennung, oder ein Verweis auf eine andere Variable. Dadurch können Variablen manipuliert werden
indirekt. Immer wenn die nameref-Variable referenziert oder ihr zugewiesen wird, ist die Operation
tatsächlich für die Variable ausgeführt, die durch den Wert der nameref-Variablen angegeben wird. Ein Nameref
wird häufig in Shell-Funktionen verwendet, um auf eine Variable zu verweisen, deren Name als an . übergeben wird
Argument für die Funktion. Wenn beispielsweise ein Variablenname an eine Shell-Funktion übergeben wird
als erstes Argument läuft
deklariere -n ref=$1
innerhalb der Funktion wird eine nameref-Variable erstellt ref dessen Wert der übergebene Variablenname ist
als erstes Argument. Referenzen und Zuordnungen zu ref werden als Referenzen behandelt und
Zuweisungen an die Variable, deren Name übergeben wurde als $1. Wenn die Regelvariable in a für
loop hat das nameref-Attribut, die Wortliste kann eine Liste von Shell-Variablen sein, und a
Der Namensbezug wird für jedes Wort in der Liste der Reihe nach hergestellt, wenn die Schleife ist
hingerichtet. Array-Variablen können nicht die -n Attribut. Nameref-Variablen
kann auf Array-Variablen und tiefgestellte Array-Variablen verweisen. Namerefs können aufgehoben werden
Verwendung der -n Option zum ungesetzt eingebaut. Andernfalls, wenn ungesetzt wird mit dem Namen ausgeführt
einer nameref-Variablen als Argument wird die Variable, auf die die nameref-Variable verweist,
ungesetzt sein.

Positionsbezogen Parameter
A positionell Parameter ist ein Parameter, der durch eine oder mehrere Ziffern gekennzeichnet ist, außer der einzelnen
Ziffer 0. Positionsparameter werden aus den Argumenten der Shell zugewiesen, wenn es ist
aufgerufen und kann mit dem neu zugewiesen werden kompensieren eingebauter Befehl. Positionsparameter können
nicht mit Zuweisungsanweisungen zugewiesen werden. Die Positionsparameter sind temporär
ersetzt, wenn eine Shell-Funktion ausgeführt wird (siehe FUNKTIONEN unten).

Wenn ein Positionsparameter, der aus mehr als einer einzigen Ziffer besteht, erweitert wird, muss er
in geschweiften Klammern eingeschlossen (siehe ERWEITERUNG unten).

Spezial Parameter
Die Shell behandelt einige Parameter speziell. Diese Parameter dürfen nur referenziert werden;
eine Zuordnung zu ihnen ist nicht zulässig.
* Erweitert zu den Positionsparametern, beginnend mit einem. Wenn die Erweiterung nicht
in doppelten Anführungszeichen wird jeder Positionsparameter zu einem separaten Wort erweitert. In
Kontexten, in denen es ausgeführt wird, unterliegen diese Wörter einer weiteren Worttrennung
und Pfadnamenerweiterung. Wenn die Erweiterung in doppelten Anführungszeichen erfolgt, wird sie erweitert
zu einem einzelnen Wort, wobei der Wert jedes Parameters durch das erste Zeichen getrennt ist
dauert ebenfalls 3 Jahre. Das erste Jahr ist das sog. IFS besondere Variable. Das ist, "$*" ist äquivalent zu "$1c$2c...", wo c
ist das erste Zeichen des Wertes von IFS Variable. Ob IFS ist nicht gesetzt, die
Parameter werden durch Leerzeichen getrennt. Wenn IFS ist null, die Parameter sind verbunden
ohne dazwischenliegende Trennzeichen.
@ Erweitert zu den Positionsparametern, beginnend mit einem. Wenn die Expansion auftritt
in doppelten Anführungszeichen wird jeder Parameter zu einem separaten Wort erweitert. Das ist, "$@"ist
gleichwertig "$1""$2" ... Wenn die Erweiterung in doppelten Anführungszeichen innerhalb eines Wortes auftritt,
die Erweiterung des ersten Parameters wird mit dem Anfangsteil des verbunden
ursprüngliches Wort, und die Erweiterung des letzten Parameters wird mit dem letzten Teil verbunden
des ursprünglichen Wortes. Wenn keine Positionsparameter vorhanden sind, "$@"Und $@ erweitern
zu nichts (dh sie werden entfernt).
# Erweitert auf die Anzahl der Positionsparameter in Dezimal.
? Erweitert zum Exit-Status der zuletzt ausgeführten Vordergrund-Pipeline.
- Erweitert zu den aktuellen Options-Flags, wie beim Aufruf angegeben, durch den kompensieren
Builtin-Befehl oder die von der Shell selbst gesetzten (wie der -i Möglichkeit).
$ Erweitert auf die Prozess-ID der Shell. In einer ()-Unterschale expandiert sie zu
Prozess-ID der aktuellen Shell, nicht der Subshell.
! Erweitert auf die Prozess-ID des zuletzt in den Hintergrund gestellten Jobs,
ob als asynchroner Befehl ausgeführt oder mit dem bg eingebaut (siehe JOB
STEUERN unten).
0 Wird zum Namen der Shell oder des Shell-Skripts erweitert. Dies ist auf Shell eingestellt
Initialisierung. Wenn bash wird mit einer Befehlsdatei aufgerufen, $0 ist auf den Namen eingestellt
dieser Datei. Wenn bash wird mit dem gestartet -c Option dann $0 ist auf den ersten eingestellt
Argument nach dem auszuführenden String, falls vorhanden. Andernfalls ist es eingestellt
zum Dateinamen, der zum Aufrufen verwendet wird bash, wie durch das Argument null angegeben.
_ Beim Shell-Start auf den absoluten Pfadnamen setzen, der zum Aufrufen der Shell oder Shell verwendet wird
Skript, das wie in der Umgebung oder der Argumentliste übergeben ausgeführt wird. Anschließend,
expandiert bis zum letzten Argument des vorherigen Befehls nach der Expansion. Auch eingestellt auf
der vollständige Pfadname, der verwendet wird, um jeden ausgeführten Befehl aufzurufen und im
Umgebung in diesen Befehl exportiert. Beim Abrufen von E-Mails enthält dieser Parameter die
Name der Maildatei, die gerade geprüft wird.

Schale Variablen
Die folgenden Variablen werden von der Shell gesetzt:

BASH Wird zum vollständigen Dateinamen erweitert, der zum Aufrufen dieser Instanz von verwendet wird bash.
BASHOPTEN
Eine durch Doppelpunkte getrennte Liste aktivierter Shell-Optionen. Jedes Wort in der Liste ist gültig
Argument für die -s Option zum einkaufen eingebauter Befehl (siehe SHELL GEBAUT BEFEHLE
unter). Die Optionen, die in erscheinen BASHOPTEN sind die gemeldet als on by einkaufen. Wenn
diese Variable befindet sich in der Umgebung, wenn bash startet, jede Shell-Option im
Liste wird aktiviert, bevor Startdateien gelesen werden. Diese Variable ist schreibgeschützt.
BASHPID
Erweitert auf die Prozess-ID des aktuellen bash Prozess. Dies unterscheidet sich von $$ für
bestimmte Umstände, wie z. B. Unterschalen, die nicht erfordern bash wieder sein
initialisiert.
BASH_ALIASE
Eine assoziative Array-Variable, deren Mitglieder der internen Liste von . entsprechen
Aliase, wie sie von der . gepflegt werden alias eingebaut. Elemente, die diesem Array hinzugefügt wurden, erscheinen in
die Alias-Liste; Das Deaktivieren von Array-Elementen führt dazu, dass Aliase aus dem Alias ​​entfernt werden
Liste.
BASH_ARGC
Eine Array-Variable, deren Werte die Anzahl der Parameter in jedem Frame des
Strom bash Ausführungsaufruf-Stack. Die Anzahl der Parameter zum aktuellen
Unterprogramm (Shell-Funktion oder Skript ausgeführt mit . or Quelle) ist an der Spitze von
der Stapel. Wenn ein Unterprogramm ausgeführt wird, ist die Anzahl der übergebenen Parameter
aufgeschoben BASH_ARGC. Die Muschelsätze BASH_ARGC nur im erweiterten Debugging
Modus (siehe Beschreibung der extdebug Option zum einkaufen unten eingebaut)
BASH_ARGV
Eine Array-Variable mit allen Parametern im aktuellen bash Ausführung
Aufrufliste. Der letzte Parameter des letzten Unterprogrammaufrufs steht am Anfang des
Stapel; der erste Parameter des ersten Aufrufs steht ganz unten. Wenn ein Unterprogramm
ausgeführt wird, werden die übergebenen Parameter auf geschoben BASH_ARGV. Die Muschelsätze
BASH_ARGV nur im erweiterten Debugging-Modus (siehe Beschreibung der extdebug
Option zum einkaufen unten eingebaut)
BASH_CMDS
Eine assoziative Array-Variable, deren Mitglieder der internen Hash-Tabelle entsprechen
von Befehlen, wie sie von der Hash- eingebaut. Elemente, die diesem Array hinzugefügt wurden, werden angezeigt
in der Hash-Tabelle; Das Deaktivieren von Array-Elementen führt dazu, dass Befehle aus dem entfernt werden
Hash-tabelle.
BASH_COMMAND
Der Befehl, der gerade ausgeführt wird oder ausgeführt werden soll, es sei denn, die Shell ist
Ausführen eines Befehls als Ergebnis eines Traps, in diesem Fall ist es der Befehl
Ausführung zum Zeitpunkt der Falle.
BASH_EXECUTION_STRING
Das Befehlsargument zum -c Aufruf-Option.
BASH_LINENR
Eine Array-Variable, deren Mitglieder die Zeilennummern in Quelldateien sind, wobei jedes
korrespondierendes Mitglied von FUNKNAME aufgerufen wurde. ${BASH_LINENO[$i]} ist die Linie
Nummer in der Quelldatei (${BASH_SOURCE[$i+1]}) woher ${FUNCNAME[$i]} hieß
(oder ${BASH_LINENO[$i-1]} wenn in einer anderen Shell-Funktion referenziert). Verwenden LINIE NR
um die aktuelle Zeilennummer zu erhalten.
BASH_REMATCH
Eine Array-Variable, deren Mitglieder vom . zugewiesen werden =~ binärer Operator zum [[
bedingter Befehl. Das Element mit Index 0 ist der Teil des Strings
Übereinstimmung mit dem gesamten regulären Ausdruck. Das Element mit Index n ist der Anteil von
die Zeichenfolge, die zu der passt ngeklammerter Unterausdruck. Diese Variable wird gelesen-
nur.
BASH_QUELLE
Eine Array-Variable, deren Mitglieder die Quelldateinamen sind, wobei die entsprechenden
Shell-Funktionsnamen in der FUNKNAME Array-Variablen definiert sind. die Muschel
Funktion ${FUNCNAME[$i]} ist in der Datei definiert ${BASH_SOURCE[$i]} und rief von
${BASH_SOURCE[$i+1]}.
BASH_SUBSHELL
In jeder Subshell oder Subshell-Umgebung um eins erhöht, wenn die Shell
beginnt mit der Ausführung in dieser Umgebung. Der Anfangswert ist 0.
BASH_VERSINFO
Eine schreibgeschützte Array-Variable, deren Mitglieder Versionsinformationen für diese Instanz enthalten
of bash. Die den Array-Mitgliedern zugewiesenen Werte lauten wie folgt:
BASH_VERSINFO[0] Die Hauptversionsnummer (die Release).
BASH_VERSINFO[1] Die Nebenversionsnummer (die Version).
BASH_VERSINFO[2] Die Patch-Ebene.
BASH_VERSINFO[3] Die Build-Version.
BASH_VERSINFO[4] Der Freigabestatus (z. B. beta1).
BASH_VERSINFO[5] Der Wert der MACHTYP.
BASH_VERSION
Wird zu einer Zeichenfolge erweitert, die die Version dieser Instanz von . beschreibt bash.
COMP_CWORD
Ein Index in ${COMP_WORDS} des Wortes, das die aktuelle Cursorposition enthält.
Diese Variable ist nur in Shell-Funktionen verfügbar, die vom programmierbaren . aufgerufen werden
Fertigstellungseinrichtungen (siehe Programmierbar Abschlüsse unten).
COMP_KEY
Die Taste (oder die letzte Taste einer Tastenfolge), mit der die aktuelle Vervollständigung aufgerufen wird
Funktion.
KOMPLET
Die aktuelle Befehlszeile. Diese Variable ist nur in Shell-Funktionen verfügbar und
externe Befehle, die von den programmierbaren Vervollständigungseinrichtungen aufgerufen werden (siehe
Programmierbar Abschlüsse unten).
COMP_POINT
Der Index der aktuellen Cursorposition relativ zum Anfang des aktuellen
Befehl. Befindet sich die aktuelle Cursorposition am Ende des aktuellen Befehls, wird die
Wert dieser Variablen ist gleich ${#COMP_LINE}. Diese Variable ist nur verfügbar
in Shell-Funktionen und externen Befehlen, die durch die programmierbare Vervollständigung aufgerufen werden
Einrichtungen (siehe Programmierbar Abschlüsse unten).
COMP_TYPE
Auf einen ganzzahligen Wert setzen, der der Art der versuchten Vervollständigung entspricht
verursachte den Aufruf einer Vervollständigungsfunktion: TAB, für den normalen Abschluss, ?Z.
Auflistung der Vervollständigungen nach aufeinanderfolgenden Registerkarten, !, zum Auflisten von Alternativen auf teilweise
Wortvollendung, @, um Vervollständigungen aufzulisten, wenn das Wort nicht unverändert ist, oder %Z.
Menüvervollständigung. Diese Variable ist nur in Shell-Funktionen und extern verfügbar
Befehle, die von den programmierbaren Vervollständigungseinrichtungen aufgerufen werden (siehe Programmierbar
Abschlüsse unten).
COMP_WORDBREAKS
Die Zeichenfolge, die die readline Bibliothek behandelt als Worttrenner, wenn
Wortvervollständigung durchführen. Wenn COMP_WORDBREAKS ist unstet, es verliert sein besonderes
Eigenschaften, auch wenn es nachträglich zurückgesetzt wird.
COMP_WORDS
Eine Array-Variable (siehe Arrays unten) bestehend aus den einzelnen Wörtern im
aktuelle Kommandozeile. Die Zeile ist in Wörter unterteilt als readline würde es teilen,
Verwendung von COMP_WORDBREAKS wie oben beschrieben. Diese Variable ist nur in der Shell verfügbar
Funktionen, die von den programmierbaren Vervollständigungseinrichtungen aufgerufen werden (siehe Programmierbar
Abschlüsse unten).
COPROC Eine Array-Variable (siehe Arrays unten) erstellt, um die Dateideskriptoren für
Ausgabe von und Eingabe in einen unbenannten Coprozess (siehe Koprozesse über).
DIRSTACK
Eine Array-Variable (siehe Arrays unten) mit den aktuellen Inhalten der
Verzeichnisstapel. Verzeichnisse erscheinen im Stapel in der Reihenfolge, in der sie angezeigt werden
von dem dirs eingebaut. Die Zuweisung an Mitglieder dieser Array-Variable kann verwendet werden, um
Verzeichnisse ändern, die sich bereits im Stack befinden, aber die pushd und popd eingebaute müssen sein
verwendet, um Verzeichnisse hinzuzufügen und zu entfernen. Die Zuweisung zu dieser Variable ändert sich nicht
das aktuelle Verzeichnis. Wenn DIRSTACK nicht gesetzt, verliert es seine besonderen Eigenschaften, sogar
wenn es nachträglich zurückgesetzt wird.
EUID Wird auf die effektive Benutzer-ID des aktuellen Benutzers erweitert, die beim Shell-Start initialisiert wird.
Diese Variable ist schreibgeschützt.
FUNKNAME
Eine Array-Variable, die die Namen aller Shell-Funktionen enthält, die sich derzeit im
Ausführungsaufruf-Stack. Das Element mit dem Index 0 ist der Name eines beliebigen aktuell-
Shell-Funktion ausführen. Das unterste Element (das mit dem höchsten Index)
ist "Hauptsache". Diese Variable existiert nur, wenn eine Shell-Funktion ausgeführt wird.
Zuweisungen an FUNKNAME haben keine Auswirkung und geben einen Fehlerstatus zurück. Wenn FUNKNAME is
unset, verliert es seine besonderen Eigenschaften, auch wenn es nachträglich zurückgesetzt wird.

Diese Variable kann verwendet werden mit BASH_LINENR und BASH_QUELLE. Jedes Element von
FUNKNAME hat entsprechende Elemente in BASH_LINENR und BASH_QUELLE um das zu beschreiben
Aufrufliste. Zum Beispiel, ${FUNCNAME[$i]} wurde aus der Datei aufgerufen
${BASH_SOURCE[$i+1]} bei Zeilennummer ${BASH_LINENO[$i]}dem „Vermischten Geschmack“. Seine Anrufer builtin
zeigt die aktuelle Aufrufliste mit diesen Informationen an.
GRUPPEN Eine Array-Variable, die die Liste der Gruppen enthält, von denen der aktuelle Benutzer a
Mitglied. Zuweisungen an GRUPPEN haben keine Auswirkung und geben einen Fehlerstatus zurück. Wenn
GRUPPEN ungesetzt, verliert es seine besonderen Eigenschaften, auch wenn es nachträglich zurückgesetzt wird.
HISTCMD
Die Verlaufsnummer oder der Index in der Verlaufsliste des aktuellen Befehls. Wenn
HISTCMD nicht gesetzt, verliert es seine besonderen Eigenschaften, auch wenn es nachträglich
zurücksetzen.
HOSTNAME
Wird automatisch auf den Namen des aktuellen Hosts gesetzt.
HOSTTYP
Wird automatisch auf eine Zeichenfolge gesetzt, die den Maschinentyp eindeutig beschreibt, auf dem
bash führt aus. Die Vorgabe ist systemabhängig.
LINIE NR Jedes Mal, wenn dieser Parameter referenziert wird, ersetzt die Shell eine Dezimalzahl
repräsentiert die aktuelle fortlaufende Zeilennummer (beginnend mit 1) innerhalb eines Skripts
oder Funktion. Wenn nicht in einem Skript oder einer Funktion enthalten ist, ist der ersetzte Wert nicht
garantiert aussagekräftig. Wenn LINIE NR nicht gesetzt ist, verliert es seine besonderen Eigenschaften,
auch wenn es nachträglich zurückgesetzt wird.
MACHTYP
Wird automatisch auf eine Zeichenfolge gesetzt, die den Systemtyp vollständig beschreibt, auf dem bash is
Ausführung, im Standard GNU CPU-Firmensystem Format. Die Standardeinstellung ist System-
abhängig.
KARTENDATEI
Eine Array-Variable (siehe Arrays unten) erstellt, um den von den gelesenen Text zu halten Kartendatei
eingebaut, wenn kein Variablenname angegeben wird.
OLDPWD Das vorherige Arbeitsverzeichnis, wie es von der cd Befehl.
OPTARG Der Wert des letzten vom verarbeiteten Optionsarguments Getopte eingebauter Befehl (siehe
SHELL GEBAUT BEFEHLE unten).
Opt Der Index des nächsten Arguments, das vom verarbeitet werden soll Getopte eingebauter Befehl (siehe
SHELL GEBAUT BEFEHLE unten).
OSTYP Wird automatisch auf eine Zeichenfolge gesetzt, die das Betriebssystem beschreibt, auf dem bash is
ausführen. Die Vorgabe ist systemabhängig.
ROHRSTATUS
Eine Array-Variable (siehe Arrays unten) mit einer Liste der Exit-Statuswerte von
die Prozesse in der zuletzt ausgeführten Vordergrund-Pipeline (die
nur ein Befehl).
PPID Die Prozess-ID des übergeordneten Elements der Shell. Diese Variable ist schreibgeschützt.
PWD Das aktuelle Arbeitsverzeichnis, wie es vom cd Befehl.
RANDOM Jedes Mal, wenn dieser Parameter referenziert wird, ist eine zufällige ganze Zahl zwischen 0 und 32767
erzeugt. Die Folge von Zufallszahlen kann durch Zuweisen eines Wertes initialisiert werden
zu RANDOM. Wenn RANDOM nicht gesetzt ist, verliert es seine besonderen Eigenschaften, auch wenn es ist
anschließend zurückgesetzt.
READLINE_LINE
Der Inhalt der readline Zeilenpuffer, zur Verwendung mit "bind -x" (siehe SHELL GEBAUT
BEFEHLE unten).
READLINE_POINT
Die Position der Einfügemarke im readline Zeilenpuffer, zur Verwendung mit "bind
-x" (siehe SHELL GEBAUT BEFEHLE unten).
ANTWORTEN Auf die vom gelesene Eingabezeile setzen lesen eingebauter Befehl, wenn keine Argumente vorhanden sind
geliefert.
SECONDS
Jedes Mal, wenn dieser Parameter referenziert wird, wird die Anzahl der Sekunden seit Shell
Aufruf zurückgegeben wird. Wenn ein Wert zugewiesen ist SECONDS, der zurückgegebene Wert bei
nachfolgende Verweise sind die Anzahl der Sekunden seit der Zuweisung plus dem Wert
zugewiesen. Wenn SECONDS nicht gesetzt ist, verliert es seine besonderen Eigenschaften, auch wenn es ist
anschließend zurückgesetzt.
Schalentiere
Eine durch Doppelpunkte getrennte Liste aktivierter Shell-Optionen. Jedes Wort in der Liste ist gültig
Argument für die -o Option zum kompensieren eingebauter Befehl (siehe SHELL GEBAUT BEFEHLE
unter). Die Optionen, die in erscheinen Schalentiere sind die gemeldet als on by kompensieren -o. Wenn
diese Variable befindet sich in der Umgebung, wenn bash startet, jede Shell-Option im
Liste wird aktiviert, bevor Startdateien gelesen werden. Diese Variable ist schreibgeschützt.
SHLVL Wird jedes Mal um eins erhöht, wenn eine Instanz von bash ist gestartet.
UID Wird auf die Benutzer-ID des aktuellen Benutzers erweitert, die beim Shell-Start initialisiert wird. Dies
Variable ist schreibgeschützt.

Die folgenden Variablen werden von der Shell verwendet. In manchen Fällen, bash weist eine Vorgabe zu
Wert zu einer Variablen; diese Fälle sind unten aufgeführt.

BASH_COMPAT
Der Wert wird verwendet, um den Kompatibilitätsgrad der Shell festzulegen. Siehe die Beschreibung von
einkaufen eingebaut unten unter SHELL GEBAUT BEFEHLE für eine Beschreibung der
verschiedene Kompatibilitätsstufen und ihre Auswirkungen. Der Wert kann eine Dezimalzahl sein
(zB 4.2) oder eine ganze Zahl (zB 42) entsprechend der gewünschten Kompatibilität
Niveau. Wenn BASH_COMPAT nicht gesetzt oder auf den leeren String gesetzt ist, ist der Kompatibilitätsgrad
wird auf den Standardwert für die aktuelle Version gesetzt. Wenn BASH_COMPAT ist auf einen Wert gesetzt
das ist keiner der gültigen Kompatibilitätsgrade, die Shell gibt einen Fehler aus
Nachricht und setzt den Kompatibilitätsgrad auf den Standardwert für die aktuelle Version.
Die gültigen Kompatibilitätsstufen entsprechen den von . akzeptierten Kompatibilitätsoptionen
einkaufen unten beschriebene eingebaut (zum Beispiel, kompatibel42 bedeutet, dass 4.2 und 42 . sind
gültige Werte). Die aktuelle Version ist auch ein gültiger Wert.
BASH_ENV
Wenn dieser Parameter eingestellt ist, wenn bash führt ein Shell-Skript aus, sein Wert ist
interpretiert als Dateiname, der Befehle zum Initialisieren der Shell enthält, wie in
~ / .bashrc. Der Wert von BASH_ENV unterliegt der Parametererweiterung, Befehl
Substitution und arithmetische Erweiterung, bevor sie als Dateiname interpretiert werden.
PATH wird nicht verwendet, um nach dem resultierenden Dateinamen zu suchen.
BASH_XTRACEFD
Wenn auf eine ganze Zahl gesetzt, die einem gültigen Dateideskriptor entspricht, bash werde das schreiben
Trace-Ausgabe generiert, wenn kompensieren -x für diesen Dateideskriptor aktiviert ist. Die Datei
Deskriptor ist geschlossen, wenn BASH_XTRACEFD wird nicht gesetzt oder ein neuer Wert zugewiesen.
Unscharfschalten BASH_XTRACEFD oder die Zuweisung der leeren Zeichenfolge bewirkt, dass die Trace-Ausgabe
an den Standardfehler gesendet werden. Beachten Sie, dass die Einstellung BASH_XTRACEFD zu 2 (der Standard
Fehlerdateideskriptor) und dann das Deaktivieren führt zum Standardfehler
geschlossen wird.
CDPATH Der Suchpfad für die cd Befehl. Dies ist eine durch Doppelpunkte getrennte Liste von Verzeichnissen
in dem die Shell nach Zielverzeichnissen sucht, die durch die cd Befehl.
Ein Beispielwert ist ".:~:/ usr".
KIND_MAX
Legen Sie die Anzahl der beendeten untergeordneten Statuswerte fest, die sich die Shell merken soll. Bash wird
darf dieser Wert nicht unter ein von POSIX vorgeschriebenes Minimum gesenkt werden, und es gibt a
Maximalwert (derzeit 8192), den dieser nicht überschreiten darf. Der Mindestwert ist
systemabhängig.
COLUMNS
Verwendet von der wählen Verbundbefehl zur Bestimmung der Terminalbreite beim Drucken
Auswahllisten bzw. Automatisch eingestellt, wenn die checkwinsize Option aktiviert ist oder in einem
interaktive Shell nach Erhalt von a SIGWINCH.
VOLLSTÄNDIG
Eine Array-Variable, aus der bash liest die möglichen Vervollständigungen, die von a . erzeugt werden
Shell-Funktion, die von der programmierbaren Vervollständigungseinrichtung aufgerufen wird (siehe Programmierbar
Abschlüsse unter). Jedes Array-Element enthält eine mögliche Vervollständigung.
EMACS If bash findet diese Variable in der Umgebung, wenn die Shell mit Wert beginnt
"t", es geht davon aus, dass die Shell in einem Emacs-Shell-Puffer läuft und deaktiviert
Zeilenbearbeitung.
ENV Ähnlich BASH_ENV; Wird verwendet, wenn die Shell im POSIX-Modus aufgerufen wird.
FCEDIT Der Standardeditor für die fc eingebauter Befehl.
FIGNORE
Eine durch Doppelpunkte getrennte Liste von Suffixen, die bei der Dateinamenvervollständigung ignoriert werden sollen
(sehen ZEILE LESEN unter). Ein Dateiname, dessen Suffix mit einem der Einträge in übereinstimmt
FIGNORE wird aus der Liste der übereinstimmenden Dateinamen ausgeschlossen. Ein Beispielwert ist ".o:~"
(Anführungszeichen sind erforderlich, wenn dieser Variable, die Tilden enthält, ein Wert zugewiesen wird).
Am lustigsten
Wenn ein numerischer Wert größer als 0 festgelegt ist, wird eine maximale Verschachtelungsebene für Funktionen definiert.
Funktionsaufrufe, die diese Verschachtelungsebene überschreiten, führen zum aktuellen Befehl
abbrechen.
GLOBIGNORE
Eine durch Doppelpunkte getrennte Liste von Mustern, die die Menge der zu ignorierenden Dateinamen definieren
Erweiterung des Pfadnamens. Wenn ein Dateiname auch mit einem Pfadnamenerweiterungsmuster übereinstimmt
passt zu einem der Muster in GLOBIGNORE, wird es aus der Liste der Übereinstimmungen entfernt.
HISTKONTROLLE
Eine durch Doppelpunkte getrennte Liste von Werten, die steuert, wie Befehle im Verlauf gespeichert werden
aufführen. Wenn die Werteliste enthält Ignorierraum, Zeilen, die mit a . beginnen Raum
Zeichen werden nicht in der Verlaufsliste gespeichert. Ein Wert von ignoriertups verursacht Linien
Übereinstimmung mit dem vorherigen Verlaufseintrag, um nicht gespeichert zu werden. Ein Wert von ignoriere beides is
Abkürzung für Ignorierraum und ignoriertups. Ein Wert von gelöschte verursacht alle vorherigen
Zeilen, die der aktuellen Zeile entsprechen, werden vorher aus der Verlaufsliste entfernt
Zeile wird gespeichert. Alle Werte, die nicht in der obigen Liste enthalten sind, werden ignoriert. Wenn HISTKONTROLLE is
nicht gesetzt ist oder keinen gültigen Wert enthält, werden alle vom Shell-Parser gelesenen Zeilen
in der Verlaufsliste gespeichert, vorbehaltlich des Wertes von HISTIGNORE. Der zweite und
nachfolgende Zeilen eines mehrzeiligen zusammengesetzten Befehls werden nicht getestet und zu . hinzugefügt
die Geschichte unabhängig vom Wert von HISTKONTROLLE.
HISTATEI
Der Name der Datei, in der der Befehlsverlauf gespeichert wird (siehe GESCHICHTE unter). Die
Standardwert ist ~ / .bash_history. Wenn nicht gesetzt, wird der Befehlsverlauf nicht gespeichert, wenn
eine Schale tritt aus.
HISTDATEIGRÖSSE
Die maximale Anzahl von Zeilen, die in der Verlaufsdatei enthalten sind. Wenn diese Variable ist
einem Wert zugewiesen, wird die Verlaufsdatei ggf. gekürzt, um keine weiteren zu enthalten
als diese Anzahl von Zeilen, indem Sie die ältesten Einträge entfernen. Die Verlaufsdatei ist auch
auf diese Größe gekürzt, nachdem es geschrieben wurde, wenn eine Shell beendet wird. Wenn der Wert 0 ist, wird der
Verlaufsdatei wird auf die Größe Null gekürzt. Nicht numerische Werte und numerische Werte weniger
als Null verhindert das Abschneiden. Die Shell setzt den Standardwert auf den Wert von
HISTGRÖSSE nachdem Sie alle Startdateien gelesen haben.
HISTIGNORE
Eine durch Doppelpunkte getrennte Liste von Mustern, die verwendet wird, um zu entscheiden, welche Befehlszeilen verwendet werden sollen
in der Verlaufsliste gespeichert. Jedes Muster ist am Anfang der Zeile verankert
und muss mit der kompletten Zeile übereinstimmen (kein implizites `*“ wird angehängt). Jedes Muster ist
gegen die Linie nach den von spezifizierten Kontrollen getestet HISTKONTROLLE angewendet werden. In
zusätzlich zu den normalen Zeichen für die Übereinstimmung mit dem Shell-Muster, `&' stimmt mit dem vorherigen überein
Geschichte Zeile. `&' kann mit einem Backslash maskiert werden; der Backslash wird entfernt
bevor Sie ein Spiel versuchen. Die zweite und die folgenden Zeilen einer Mehrfachzeile
Compound-Befehle werden nicht getestet und werden unabhängig von der
Wert von HISTIGNORE.
HISTGRÖSSE
Die Anzahl der Befehle, die in der Befehlshistorie gespeichert werden sollen (siehe GESCHICHTE unter). Wenn
der Wert ist 0, Befehle werden nicht in der Verlaufsliste gespeichert. Numerische Werte weniger
als Null führt dazu, dass jeder Befehl in der Verlaufsliste gespeichert wird (es gibt keine
Grenze). Die Shell setzt den Standardwert auf 500, nachdem alle Startdateien gelesen wurden.
HISTZEITFORMAT
Wenn diese Variable gesetzt und nicht null ist, wird ihr Wert als Formatstring für . verwendet
strftime(3) um den Zeitstempel zu drucken, der mit jedem durch angezeigten Verlaufseintrag verknüpft ist
Geschichte eingebaut. Wenn diese Variable gesetzt ist, werden Zeitstempel in die
history-Datei, damit sie über Shell-Sitzungen hinweg aufbewahrt werden können. Dies verwendet die Geschichte
Kommentarzeichen, um Zeitstempel von anderen Verlaufszeilen zu unterscheiden.
HOME Das Home-Verzeichnis des aktuellen Benutzers; das Standardargument für die cd builtin
Befehl. Der Wert dieser Variablen wird auch bei der Tilde-Erweiterung verwendet.
HOSTDATEI
Enthält den Namen einer Datei im gleichen Format wie / Etc / hosts das sollte man lesen
wenn die Shell einen Hostnamen vervollständigen muss. Die Liste der möglichen Hostnamen
Vervollständigungen können geändert werden, während die Shell ausgeführt wird; das nächste mal hostname
der Abschluss wird versucht, nachdem der Wert geändert wurde, bash fügt den Inhalt der
neue Datei in die bestehende Liste. Wenn HOSTDATEI ist gesetzt, hat aber keinen Wert oder nicht
benennen Sie eine lesbare Datei, bash versucht zu lesen / Etc / hosts um die Liste der zu erhalten
mögliche Vervollständigungen des Hostnamens. Wann HOSTDATEI nicht gesetzt ist, ist die Hostnamenliste
gelöscht.
IFS Das Intern Feld Separator das wird für die Worttrennung nach der Erweiterung verwendet und zu
spalte Zeilen in Worte mit dem lesen eingebauter Befehl. Der Standardwert ist
`` ''.
IGNORIEREN
Steuert die Aktion einer interaktiven Shell beim Empfang eines EOF Charakter als der
alleinige Eingabe. Wenn eingestellt, ist der Wert die Anzahl der aufeinanderfolgenden EOF Charaktere, die
müssen als erstes Zeichen in einer Eingabezeile eingegeben werden, bevor bash Ausgänge. Wenn die
Variable existiert, hat aber keinen numerischen Wert oder keinen Wert, die Standardeinstellung
Wert ist 10. Wenn es nicht existiert, EOF bedeutet das Ende der Eingabe in die Shell.
EINGANG
Der Dateiname für die readline Startup-Datei, überschreibt die Standardeinstellung von ~ / .inputrc
(sehen ZEILE LESEN unten).
SPRACHE Wird verwendet, um die Gebietsschemakategorie für jede nicht speziell ausgewählte Kategorie zu bestimmen
mit einer Variablen beginnend mit LC_.
LC_ALL Diese Variable überschreibt den Wert von SPRACHE und alle anderen LC_ Variable, die a . angibt
Gebietsschema-Kategorie.
LC_COLLATE
Diese Variable bestimmt die Sortierreihenfolge, die beim Sortieren der Ergebnisse von verwendet wird
Pfadnamenerweiterung und bestimmt das Verhalten von Bereichsausdrücken, Äquivalenz
Klassen und Sortiersequenzen innerhalb der Pfadnamenerweiterung und des Mustervergleichs.
LC_CTYPE
Diese Variable bestimmt die Interpretation von Zeichen und das Verhalten von
Zeichenklassen innerhalb der Pfadnamenerweiterung und des Mustervergleichs.
LC_MESSAGES
Diese Variable bestimmt das Gebietsschema, das verwendet wird, um Zeichenfolgen in doppelten Anführungszeichen zu übersetzen
vor a $.
LC_NUMERIC
Diese Variable bestimmt die Gebietsschemakategorie, die für die Zahlenformatierung verwendet wird.
LINES Verwendet von der wählen Verbundbefehl zum Bestimmen der Spaltenlänge für den Druck
Auswahllisten bzw. Automatisch eingestellt, wenn die checkwinsize Option aktiviert ist oder in einem
interaktive Shell nach Erhalt von a SIGWINCH.
MAIL Wenn dieser Parameter auf einen Datei- oder Verzeichnisnamen gesetzt ist und die MAILPFAD Variable ist
nicht eingestellt, bash informiert den Benutzer über den Eingang von Post in der angegebenen Datei oder
Verzeichnis im Maildir-Format.
MAILCHECK
Gibt an, wie oft (in Sekunden) bash prüft auf Post. Der Standardwert beträgt 60 Sekunden.
Wenn es an der Zeit ist, nach E-Mails zu suchen, tut dies die Shell, bevor die primäre angezeigt wird
prompt. Wenn diese Variable nicht gesetzt oder auf einen Wert gesetzt ist, der keine Zahl größer ist
kleiner oder gleich null, deaktiviert die Shell die Mail-Überprüfung.
MAILPFAD
Eine durch Doppelpunkte getrennte Liste von Dateinamen, die auf Mail überprüft werden sollen. Die Botschaft zu sein
gedruckt wird, wenn die Post in einer bestimmten Datei eintrifft, kann durch Trennen der
Dateiname aus der Nachricht mit einem `?'. Bei Verwendung im Nachrichtentext $_
wird zum Namen der aktuellen Maildatei erweitert. Beispiel:
MAILPFAD='/var/mail/bfox?"Sie haben Post":~/shell-mail?"$_ hat Post!"'
Bash liefert einen Standardwert für diese Variable, aber den Speicherort der Benutzer-Mail
Dateien, die es verwendet, ist systemabhängig (z. /var/mail/$ USER).
OPTERR Wenn auf den Wert 1 gesetzt, bash zeigt Fehlermeldungen an, die vom Getopte
eingebauter Befehl (siehe SHELL GEBAUT BEFEHLE unten). OPTERR wird auf 1 initialisiert
jedes Mal, wenn die Shell aufgerufen oder ein Shell-Skript ausgeführt wird.
PATH Der Suchpfad für Befehle. Es ist eine durch Doppelpunkte getrennte Liste von Verzeichnissen, in denen
die Shell sucht nach Befehlen (siehe COMMAND EXECUTION unter). Eine Nulllänge (null)
Verzeichnisname im Wert von PATH zeigt das aktuelle Verzeichnis an. Eine Null
Der Verzeichnisname kann als zwei benachbarte Doppelpunkte oder als Anfangs- oder Endzeichen erscheinen
Doppelpunkt. Der Standardpfad ist systemabhängig und wird vom Administrator festgelegt, der
installiert bash. Ein üblicher Wert ist ``/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/Behälter:/ sbin''.
POSIXLY_KORREKT
Wenn diese Variable in der Umgebung ist, wenn bash startet, die Shell tritt ein POSIX
Modus bevor Sie die Startup-Dateien lesen, als ob die --posix Aufrufoption war
geliefert. Wenn es gesetzt wird, während die Shell läuft, bash ermöglicht POSIX Modus, als ob
der Befehl kompensieren -o POSIX hingerichtet worden war.
Eingabeaufforderung_Command
Wenn festgelegt, wird der Wert als Befehl ausgeführt, bevor jede primäre Eingabeaufforderung ausgegeben wird.
PROMPT_DIRTRIM
Wenn eine Zahl größer als Null eingestellt ist, wird der Wert als Anzahl der nachgestellten . verwendet
Verzeichniskomponenten, die beim Erweitern beibehalten werden sollen \w und \W Eingabeaufforderung String-Escapes
(sehen AUFFORDERUNG unter). Entfernte Zeichen werden durch Auslassungspunkte ersetzt.
PS1 Der Wert dieses Parameters wird erweitert (siehe AUFFORDERUNG unten) und verwendet als
primäre Eingabeaufforderungszeichenfolge. Der Standardwert ist ``\s-\v\$ ''.
PS2 Der Wert dieses Parameters wird erweitert wie mit PS1 und als sekundärer verwendet
Aufforderungszeichenfolge. Die Standardeinstellung ist ``> ''.
PS3 Der Wert dieses Parameters wird als Eingabeaufforderung für die wählen Befehl (siehe SHELL
GRAMMATIK über).
PS4 Der Wert dieses Parameters wird erweitert wie mit PS1 und der Wert wird vorher gedruckt
jeder Befehl bash wird während eines Ausführungs-Trace angezeigt. Das erste Zeichen von PS4
wird bei Bedarf mehrmals repliziert, um mehrere Ebenen von . anzuzeigen
Indirektion. Die Standardeinstellung ist ``+ ''.
SHELL Der vollständige Pfadname zur Shell wird in dieser Umgebungsvariablen gespeichert. Wenn es das nicht ist
setzen, wenn die Shell startet, bash weist ihm den vollständigen Pfadnamen des Stroms zu
Login-Shell des Benutzers.
ZEITFORMAT
Der Wert dieses Parameters wird als Formatzeichenfolge verwendet, die angibt, wie das Timing
Informationen für Rohrleitungen mit dem Präfix Zeit reserviertes Wort sollte angezeigt werden.
Das % Zeichen leitet eine Escape-Sequenz ein, die auf einen Zeitwert erweitert wird oder
andere Informationen. Die Escape-Sequenzen und ihre Bedeutungen sind wie folgt; das
geschweifte Klammern bezeichnen optionale Teile.
%% Ein wörtliches %.
%[p][l]R Die verstrichene Zeit in Sekunden.
%[p][l]U Die Anzahl der im Benutzermodus verbrachten CPU-Sekunden.
%[p][l]S Die Anzahl der im Systemmodus verbrachten CPU-Sekunden.
%P Der CPU-Prozentsatz, berechnet als (%U + %S) / %R.

Das optionale p ist eine Ziffer, die die . angibt Präzision, die Anzahl der Nachkommastellen
nach einem Dezimalpunkt. Ein Wert von 0 bewirkt, dass kein Dezimalpunkt oder Bruch
Ausgang. Es dürfen höchstens drei Nachkommastellen angegeben werden; Werte von p
größer als 3 werden in 3 geändert. Wenn p nicht angegeben ist, wird der Wert 3 verwendet.

Das optionale l spezifiziert ein längeres Format, einschließlich Minuten, der Form MMmSS.FFs.
Der Wert der p bestimmt, ob der Bruch enthalten ist oder nicht.

Wenn diese Variable nicht gesetzt ist, bash tut so, als hätte es den Wert
$'\nreal\t%3lR\user\t%3lU\nsys\t%3lS'. Wenn der Wert null ist, kein Timing
Informationen werden angezeigt. Ein nachgestellter Zeilenumbruch wird hinzugefügt, wenn die Formatzeichenfolge ist
angezeigt.
TMAUS Wenn ein Wert größer als Null eingestellt ist, TMAUS wird als Standard-Timeout für behandelt
lesen eingebaut. Die wählen Befehl bricht ab, wenn die Eingabe danach nicht ankommt
TMAUS Sekunden, wenn eine Eingabe von einem Terminal kommt. In einer interaktiven Shell, die
value wird als die Anzahl der Sekunden interpretiert, die auf eine Eingabezeile gewartet wird, nachdem
Ausgabe der primären Aufforderung. Bash endet nach dem Warten auf diese Anzahl von
Sekunden, wenn keine vollständige Eingabezeile ankommt.
TMPDIR Wenn eingestellt, bash verwendet seinen Wert als den Namen eines Verzeichnisses, in dem bash schafft
temporäre Dateien für die Verwendung durch die Shell.
auto_resume
Diese Variable steuert, wie die Shell mit der Benutzer- und Jobsteuerung interagiert. Wenn
diese Variable ist gesetzt, einfache Einzelwortbefehle ohne Umleitungen werden behandelt
als Kandidaten für die Wiederaufnahme eines bestehenden beendeten Arbeitsplatzes. Es gibt keine Zweideutigkeit
dürfen; Wenn es mehr als einen Job gibt, der mit der eingegebenen Zeichenfolge beginnt, wird der Job
zuletzt aufgerufen wird ausgewählt. Die Name eines gestoppten Jobs ist in diesem Zusammenhang
die zum Starten verwendete Befehlszeile. Wenn auf den Wert eingestellt genau, die gelieferte Zeichenfolge
muss genau mit dem Namen eines gestoppten Jobs übereinstimmen; wenn eingestellt auf Teilzeichenfolge, die Saite
Der angegebene Name muss mit einer Teilzeichenfolge des Namens eines gestoppten Jobs übereinstimmen. Die Teilzeichenfolge
value bietet analoge Funktionen wie die %? Jobkennung (siehe JOB STEUERN
unter). Bei einem anderen Wert muss die angegebene Zeichenfolge ein Präfix von a . sein
Name des gestoppten Jobs; dies bietet analoge Funktionen wie die %Schnur Job
Kennung.
histchars
Die zwei oder drei Charaktere, die die Geschichtserweiterung und Tokenisierung steuern (siehe
GESCHICHTE ERWEITERUNG unter). Das erste Zeichen ist das Geschichte Expansion Charakter,
das Zeichen, das den Beginn einer History-Erweiterung anzeigt, normalerweise `!'. Das
zweites Zeichen ist das schnell Substitution Zeichen, das als Kurzschrift verwendet wird
zum erneuten Ausführen des zuvor eingegebenen Befehls, Ersetzen einer Zeichenfolge durch eine andere in
der Befehl. Die Standardeinstellung ist `^'. Das optionale dritte Zeichen ist das Zeichen
was angibt, dass der Rest der Zeile ein Kommentar ist, wenn er als erster gefunden wird
Zeichen eines Wortes, normalerweise `#'. Das Verlaufskommentarzeichen verursacht Geschichte
Ersetzung für die restlichen Wörter in der Zeile übersprungen werden. Es tut nicht
zwangsläufig dazu führen, dass der Shell-Parser den Rest der Zeile als Kommentar behandelt.

Arrays
Bash bietet eindimensionale indizierte und assoziative Array-Variablen. Jede Variable kann
als indiziertes Array verwendet werden; das erklären builtin deklariert explizit ein Array. Dort
ist weder eine maximale Begrenzung der Größe eines Arrays noch eine Anforderung, dass Mitglieder indiziert werden müssen
oder zusammenhängend zugeordnet. Indizierte Arrays werden mit Integern referenziert (einschließlich
arithmetische Ausdrücke) und sind nullbasiert; assoziative Arrays werden mit referenziert
beliebige Zeichenfolgen. Sofern nicht anders angegeben, dürfen indizierte Array-Indizes nicht negativ sein
ganze Zahlen.

Ein indiziertes Array wird automatisch erstellt, wenn eine Variable mit der Syntax zugewiesen wird
Name[Index]=Wertdem „Vermischten Geschmack“. Seine Index wird als arithmetischer Ausdruck behandelt, der
zu einer Zahl auswerten. Um ein indiziertes Array explizit zu deklarieren, verwenden Sie erklären -a Name (sehen
SHELL GEBAUT BEFEHLE unten). erklären -a Name[Index] wird auch akzeptiert; das Index
wird ignoriert.

Assoziative Arrays werden erstellt mit erklären -A Name.

Attribute können für eine Array-Variable mit dem erklären und schreibgeschützt eingebaut.
Jedes Attribut gilt für alle Mitglieder eines Arrays.

Arrays werden mit zusammengesetzten Zuweisungen der Form zugewiesen Name=(Wert1 ... Wertn),
wo jeder Wert hat die Form [Index]=Schnur. Indizierte Array-Zuweisungen nicht
erfordern alles andere als Schnur. Bei der Zuweisung zu indizierten Arrays, wenn die optionalen Klammern
und tiefgestellt werden bereitgestellt, dem der Index zugewiesen ist; ansonsten der Index des Elements
Zugewiesen ist der letzte durch die Anweisung zugewiesene Index plus eins. Die Indizierung beginnt um
Null.

Bei der Zuweisung zu einem assoziativen Array ist der Index erforderlich.

Diese Syntax wird auch von der erklären eingebaut. Einzelne Array-Elemente können
zugewiesen der Verwendung der Name[Index]=Wert oben eingeführte Syntax. Bei der Zuweisung zu einem
indiziertes Array, wenn Name ist von einer negativen Zahl tiefgestellt, wird diese Zahl interpretiert als
relativ zu eins größer als der maximale Index von Name, also zählen negative Indizes zurück
vom Ende des Arrays, und ein Index von -1 verweist auf das letzte Element.

Jedes Element eines Arrays kann mit ${ referenziert werden.Name[Index]}. Die Klammern sind
erforderlich, um Konflikte mit der Pfadnamenerweiterung zu vermeiden. Wenn Index is @ or *, das Wort
erstreckt sich auf alle Mitglieder von Name. Diese Indizes unterscheiden sich nur, wenn das Wort darin vorkommt
Anführungszeichen. Wenn das Wort in doppelten Anführungszeichen steht, ${Name[*]} wird mit dem zu einem einzelnen Wort erweitert
Wert jedes Array-Mitglieds, getrennt durch das erste Zeichen des IFS spezielle Variable,
und ${Name[@]} erweitert jedes Element von Name zu einem separaten Wort. Wenn es kein Array gibt
Mitglieder, ${Name[@]} wird zu nichts erweitert. Wenn die Entwicklung in doppelten Anführungszeichen innerhalb von a
Wort wird die Erweiterung des ersten Parameters mit dem Anfangsteil des
ursprüngliches Wort, und die Erweiterung des letzten Parameters wird mit dem letzten Teil des
ursprüngliches Wort. Dies ist analog zur Erweiterung der Sonderparameter * und @ (sehen
Spezial Parameter Oben). ${#Name[Index]} expandiert auf die Länge von
${Name[Index]}. Wenn Index is * or @, die Erweiterung ist die Anzahl der Elemente in
das Array. Das Verweisen auf eine Array-Variable ohne tiefgestellten Index entspricht dem Verweisen
das Array mit einem Index von 0. Wenn die Index verwendet, um auf ein Element von an . zu verweisen
indiziertes Array ergibt eine Zahl kleiner als Null, es wird als relativ zu Eins interpretiert
größer als der maximale Index des Arrays, daher zählen negative Indizes vom Ende zurück
des Arrays und ein Index von -1 verweist auf das letzte Element.

Eine Array-Variable gilt als gesetzt, wenn einem Index ein Wert zugewiesen wurde. Die Null
string ist ein gültiger Wert.

Es ist möglich, die Schlüssel (Indizes) eines Arrays sowie die Werte zu erhalten.
${!Name[@]} und ${!Name[*]} auf die in der Array-Variablen zugewiesenen Indizes erweitern Namedem „Vermischten Geschmack“. Seine
Behandlung in doppelten Anführungszeichen gleicht der Erweiterung der Sonderparameter @
und * in doppelten Anführungszeichen.

Das ungesetzt builtin wird verwendet, um Arrays zu zerstören. ungesetzt Name[Index] zerstört das Array
Element am Index Index. Negative Indizes zu indizierten Arrays werden interpretiert als
oben beschrieben. Es muss darauf geachtet werden, dass unerwünschte Nebenwirkungen durch den Pfadnamen vermieden werden
Erweiterung. ungesetzt Name, Wobei Name ist ein Array, oder ungesetzt Name[Index], wo Index
is * or @, entfernt das gesamte Array.

Das erklären, aus einer regionalen und schreibgeschützt Builtins akzeptieren jeweils a -a Option zum Angeben eines indizierten
Array und a -A Option zum Angeben eines assoziativen Arrays. Wenn beide Optionen geliefert werden, -A
hat Vorrang. Die lesen eingebaut akzeptiert a -a Option zum Zuweisen einer Liste von gelesenen Wörtern
von der Standardeingabe in ein Array. Die kompensieren und erklären Builtins zeigen Array-Werte in . an
eine Möglichkeit, sie als Aufgaben wiederzuverwenden.

ERWEITERUNG


Die Erweiterung wird in der Befehlszeile ausgeführt, nachdem sie in Wörter aufgeteilt wurde. Es gibt
sieben Arten von Erweiterungen durchgeführt: Glut Expansion, Tilde Expansion, Parameter und
Variable Expansion, Befehl Substitution, Arithmetik Expansion, Wort Spaltung und
Pfadname Expansion.

Die Reihenfolge der Erweiterungen ist: Klammererweiterung; Tildeexpansion, Parameter und Variable
Erweiterung, arithmetische Erweiterung und Befehlsersetzung (von links nach rechts ausgeführt)
Mode); Worttrennung; und Pfadnamenerweiterung.

Auf Systemen, die dies unterstützen können, ist eine zusätzliche Erweiterung verfügbar: Prozessdefinierung
Substitution. Dies erfolgt gleichzeitig mit Tilde, Parameter, Variable und
arithmetische Expansion und Befehlsersetzung.

Nur Klammererweiterung, Wortaufteilung und Pfadnamenerweiterung können die Anzahl der ändern
Worte der Erweiterung; andere Erweiterungen erweitern ein einzelnes Wort zu einem einzelnen Wort. Das einzige
Ausnahmen sind die Erweiterungen von "$@" und "${Name[@]}" wie oben erklärt (siehe
PARAMETER).

Klammer Erweiterung
Klammer Expansion ist ein Mechanismus, mit dem beliebige Zeichenfolgen erzeugt werden können. Dies
Mechanismus ist ähnlich wie Pfadname Expansion, aber die generierten Dateinamen müssen nicht existieren.
Muster, die mit Klammern erweitert werden sollen, haben die Form eines optionalen Präambel, gefolgt von entweder a
eine Reihe von durch Kommas getrennten Strings oder ein Sequenzausdruck zwischen zwei geschweiften Klammern,
gefolgt von einem optionalen Nachsatz. Die Präambel wird jeder enthaltenen Zeichenfolge vorangestellt
innerhalb der geschweiften Klammern, und das Postscript wird dann an jeden resultierenden String angehängt und erweitert
links nach rechts.

Klammererweiterungen können verschachtelt werden. Die Ergebnisse jeder erweiterten Zeichenfolge werden nicht sortiert; links
die richtige Reihenfolge bleibt erhalten. Zum Beispiel a{d,c,b}e wird zu `ade ace abe' erweitert.

Ein Sequenzausdruck hat die Form {x..y[..inkr]}, Wobei x und y sind entweder ganze Zahlen oder
einzelne Zeichen und inkr, ein optionales Inkrement, ist eine ganze Zahl. Wenn ganze Zahlen sind
wird der Ausdruck auf jede Zahl zwischen erweitert x und y, inklusive. Geliefert
ganzen Zahlen kann vorangestellt werden 0 um zu erzwingen, dass jeder Term die gleiche Breite hat. Wenn entweder x
or y mit einer Null beginnt, versucht die Shell, alle generierten Terme zu zwingen, die
gleiche Anzahl Stellen, ggf. mit Nullen auffüllen. Wenn Zeichen bereitgestellt werden, wird die
Ausdruck erweitert sich lexikographisch auf jedes Zeichen zwischen x und y, inklusive, mit
das standardmäßige C-Gebietsschema. Beachten Sie, dass beide x und y muss vom gleichen Typ sein. Wenn das
Inkrement angegeben wird, wird es als Differenz zwischen den einzelnen Termen verwendet. Der Standard
Inkrement ist je nach Bedarf 1 oder -1.

Die Brace-Erweiterung wird vor allen anderen Erweiterungen und allen Sonderzeichen für durchgeführt
andere Erweiterungen bleiben im Ergebnis erhalten. Es ist streng textuell. Bash nicht
jede syntaktische Interpretation auf den Kontext der Erweiterung oder den Text zwischen den anwenden
Hosenträger.

Eine korrekt gebildete Klammererweiterung muss öffnende und schließende Klammern ohne Anführungszeichen enthalten, und
mindestens ein Komma ohne Anführungszeichen oder ein gültiger Sequenzausdruck. Jede falsch geformte Klammer
Die Erweiterung bleibt unverändert. EIN { or , kann mit einem umgekehrten Schrägstrich zitiert werden, um dies zu verhindern
als Teil eines geschweiften Ausdrucks angesehen. Um Konflikte mit der Parametererweiterung zu vermeiden,
Schnur ${ gilt nicht für eine Korsetterweiterung.

Dieses Konstrukt wird normalerweise als Kurzform verwendet, wenn das gemeinsame Präfix der Zeichenfolgen
generiert ist länger als im obigen Beispiel:

mkdir /usr/local/src/bash/{alt,neu,dist,bugs}
or
chown-Wurzel / usr /{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

Die Brace-Erweiterung führt zu einer leichten Inkompatibilität mit historischen Versionen von sh. sh
behandelt öffnende oder schließende Klammern nicht besonders, wenn sie als Teil eines Wortes erscheinen, und
behält sie in der Ausgabe bei. Bash entfernt Klammern aus Wörtern als Folge von Klammern
Erweiterung. Beispiel: Ein eingegebenes Wort in sh as Datei{1,2} erscheint identisch in der
Ausgang. Das gleiche Wort wird ausgegeben als file1 file2 nach Erweiterung um bash. Wenn streng
Kompatibilität mit sh ist erwünscht, starte bash an. Nach der Installation können Sie HEIC-Dateien mit der +B Option oder deaktivieren der Klammererweiterung
an. Nach der Installation können Sie HEIC-Dateien mit der +B Option zum kompensieren Befehl (siehe SHELL GEBAUT BEFEHLE unten).

Tilde Erweiterung
Wenn ein Wort mit einer nicht in Anführungszeichen gesetzten Tilde (`~'), alle Zeichen davor
der erste Schrägstrich ohne Anführungszeichen (oder alle Zeichen, wenn kein Schrägstrich ohne Anführungszeichen vorhanden ist) werden berücksichtigt
a Tilde-Präfix. Wenn keines der Zeichen im Tilde-Präfix in Anführungszeichen steht, werden die Zeichen
im Tilde-Präfix nach der Tilde werden als möglich behandelt login Name. Wenn das so ist
Login-Name ist der Null-String, die Tilde wird durch den Wert des Shell-Parameters ersetzt
HOME. Wenn HOME nicht gesetzt ist, wird das Home-Verzeichnis des Benutzers, der die Shell ausführt, ersetzt
stattdessen. Andernfalls wird das Tilde-Präfix durch das zugehörige Home-Verzeichnis ersetzt
der angegebene Login-Name.

Wenn das Tilde-Präfix ein `~+' ist, ist der Wert der Shell-Variablen PWD ersetzt die Tilde-
Präfix. Wenn das Tilde-Präfix ein `~-' ist, ist der Wert der Shell-Variablen OLDPWD, wenn es ist
eingestellt, wird ersetzt. Wenn die Zeichen nach der Tilde im Tilde-Präfix bestehen aus
eine Zahl N, optional mit vorangestelltem `+' oder `-', das Tilde-Präfix wird durch das ersetzt
entsprechendes Element aus dem Verzeichnis-Stack, wie es vom dirs
builtin wird mit dem Tilde-Präfix als Argument aufgerufen. Wenn die Zeichen nach dem
Tilde im Tilde-Präfix bestehen aus einer Zahl ohne führendes `+' oder `-', `+' ist
angenommen.

Wenn der Anmeldename ungültig ist oder die Tilde-Erweiterung fehlschlägt, bleibt das Wort unverändert.

Jede Variablenzuweisung wird unmittelbar nach a . auf Tilde-Präfixe ohne Anführungszeichen überprüft :
oder der erste =. In diesen Fällen wird auch eine Tildeexpansion durchgeführt. Folglich kann man
Verwenden Sie Dateinamen mit Tilden in Zuweisungen an PATH, MAILPFAD und CDPATH, und die Schale
weist den erweiterten Wert zu.

Parameter Erweiterung
Die `$'-Zeichen führt Parametererweiterung, Befehlsersetzung oder Arithmetik ein
Erweiterung. Der zu erweiternde Parametername oder das Symbol kann in geschweifte Klammern eingeschlossen werden, was
sind optional, dienen aber dazu, die zu erweiternde Variable sofort vor Zeichen zu schützen
im Anschluss daran, was als Teil des Namens interpretiert werden könnte.

Wenn Klammern verwendet werden, ist die passende Endklammer das erste `}' nicht entgangen durch a
Backslash oder innerhalb einer Zeichenfolge in Anführungszeichen und nicht innerhalb einer eingebetteten arithmetischen Erweiterung,
Befehlsersetzung oder Parametererweiterung.

${Parameter}
Der Wert der Parameter wird ersetzt. Die Klammern sind erforderlich, wenn Parameter ist eine
Positionsparameter mit mehr als einer Ziffer, oder wenn Parameter gefolgt von a
Zeichen, das nicht als Teil seines Namens interpretiert werden soll. Die Parameter ist eine
Shell-Parameter wie oben beschrieben PARAMETER) oder eine Array-Referenz (Arrays).

Wenn das erste Zeichen von Parameter ist ein Ausrufezeichen (!), führt es ein Niveau von ein
variable Umleitung. Bash verwendet den Wert der Variablen, die aus dem Rest von gebildet wird
Parameter als Name der Variablen; diese Variable wird dann erweitert und dieser Wert ist
im Rest der Substitution verwendet, anstatt den Wert von Parameter selbst. Das ist
bekannt indirekte Expansion. Ausnahmen sind die Erweiterungen von ${!Präfix*} und
${!Name[@]} nachstehend beschrieben. Das Ausrufezeichen muss unmittelbar auf die linke Klammer folgen
um eine Umleitung einzuführen.

In jedem der unten aufgeführten Fälle Wort unterliegt Tildeexpansion, Parameterexpansion,
Befehlsersetzung und arithmetische Erweiterung.

Wenn Sie keine Teilzeichenfolgenerweiterung durchführen, verwenden Sie die unten dokumentierten Formulare (z. :-), bash
testet auf einen Parameter, der nicht festgelegt oder null ist. Das Weglassen des Dickdarms führt nur zu einem Test
für einen Parameter, der nicht gesetzt ist.

${Parameter:-Wort}
Verwenden Sie die Standard Werte. Wenn Parameter ist nicht gesetzt oder null, die Entwicklung von Wort is
ersetzt. Andernfalls ist der Wert von Parameter ersetzt wird.
${Parameter:=Wort}
Weisen Standard Werte. Wenn Parameter ist nicht gesetzt oder null, die Entwicklung von Wort is
Zugewiesen an Parameter. Der Wert von Parameter wird dann ersetzt. Positionsbezogen
Parameter und Sonderparameter dürfen auf diese Weise nicht zugewiesen werden.
${Parameter:?Wort}
Display Fehler if Null or Nicht gesetzt. Wenn Parameter null oder nicht gesetzt ist, ist die Erweiterung von
Wort (oder eine entsprechende Nachricht, wenn Wort ist nicht vorhanden) wird an die . geschrieben
Standardfehler und die Shell wird beendet, wenn sie nicht interaktiv ist. Ansonsten der
Wert von Parameter ersetzt wird.
${Parameter:+Wort}
Verwenden Sie die Wechseln Wert. Wenn Parameter ist null oder nicht gesetzt, nichts wird ersetzt,
ansonsten der Ausbau von Wort ersetzt wird.
${Parameter:Offset}
${Parameter:Offset:Länge}
Teilzeichenfolge Erweiterung. Erweiterbar auf bis zu Länge Zeichen des Wertes von Parameter
beginnend mit dem durch . angegebenen Zeichen Offset. Wenn Parameter is @, ein indiziertes Array
abonniert von @ or *, oder ein assoziativer Array-Name, unterscheiden sich die Ergebnisse als
nachstehend beschrieben. Wenn Länge wird weggelassen, wird auf die Teilzeichenfolge des Wertes von erweitert
Parameter beginnend mit dem durch . angegebenen Zeichen Offset und erstreckt sich bis zum Ende von
der Wert. Länge und Offset sind arithmetische Ausdrücke (siehe ARITHMETIK BEWERTUNG
unten).

If Offset ergibt eine Zahl kleiner als Null, der Wert wird als Offset in . verwendet
Zeichen vom Ende des Wertes von Parameter. Wenn Länge wertet zu einer Zahl aus
kleiner als null, wird als Offset in Zeichen vom Ende des interpretiert
Wert von Parameter statt einer Reihe von Charakteren, und die Erweiterung ist die
Zeichen zwischen Offset und dieses Ergebnis. Beachten Sie, dass ein negativer Offset sein muss
vom Doppelpunkt durch mindestens ein Leerzeichen getrennt, um eine Verwechslung mit dem zu vermeiden :-
Erweiterung.

If Parameter is @, Das Ergebnis ist Länge Positionsparameter beginnend bei Offset.
Ein Negativ Offset wird relativ zu einem größeren als dem größten Positionsfaktor genommen
Parameter, so dass ein Offset von -1 zum letzten Positionsparameter ausgewertet wird. Es ist ein
Erweiterungsfehler, wenn Länge wird zu einer Zahl kleiner als Null ausgewertet.

If Parameter ist ein indizierter Arrayname mit einem Index von @ oder *, das Ergebnis ist der
Länge Mitglieder des Arrays beginnend mit ${Parameter[Offset]}. Ein Negativ Offset
wird relativ zu einem Wert genommen, der größer als der maximale Index des angegebenen Arrays ist. Es
ist ein Erweiterungsfehler, wenn Länge wird zu einer Zahl kleiner als Null ausgewertet.

Die auf ein assoziatives Array angewendete Teilzeichenfolgenerweiterung führt zu undefinierten Ergebnissen.

Die Indizierung von Teilzeichenfolgen ist nullbasiert, es sei denn, die Positionsparameter werden verwendet, in
In diesem Fall beginnt die Indizierung standardmäßig bei 1. Wenn Offset ist 0, und das Positions-
Parameter verwendet werden, $0 wird der Liste vorangestellt.

${!Präfix*}
${!Präfix@}
Namen Abstimmung Präfix. Erweitert auf die Namen von Variablen, deren Namen mit beginnen
Präfix, getrennt durch das erste Zeichen des IFS besondere Variable. Wann @ is
verwendet und die Erweiterung erscheint in doppelten Anführungszeichen, jeder Variablenname wird erweitert zu
ein separates Wort.

${!Name[@]}
${!Name[*]}
Liste of Array Tasten. Wenn Name ist eine Array-Variable, erweitert die Liste der Arrays
Indizes (Schlüssel) zugeordnet in Name. Wenn Name ist kein Array, wird auf 0 erweitert, wenn Name is
set und sonst null. Wann @ wird verwendet und die Erweiterung erscheint innerhalb von double
Anführungszeichen wird jeder Schlüssel zu einem separaten Wort erweitert.

${#Parameter}
Parameter Länge. Die Länge in Zeichen des Wertes von Parameter is
ersetzt. Wenn Parameter is * or @, der ersetzte Wert ist die Anzahl von
positionelle Parameter. Wenn Parameter ist ein Array-Name, der von tiefgestellt ist * or @, der
Der ersetzte Wert ist die Anzahl der Elemente im Array. Wenn Parameter ist ein
indizierter Array-Name mit einer negativen Zahl, diese Zahl wird interpretiert als
relativ zu eins größer als der maximale Index von Parameter, also negative Indizes
vom Ende des Arrays zurückzählen, und ein Index von -1 verweist auf den letzten
Element.

${Parameter#Wort}
${Parameter##Wort}
Entfernen Abstimmung Präfix Anleitungendem „Vermischten Geschmack“. Seine Wort wird zu einem Muster erweitert, genauso wie
in der Pfadnamenerweiterung. Wenn das Muster mit dem Anfang des Wertes von übereinstimmt
Parameter, dann ist das Ergebnis der Erweiterung der erweiterte Wert von Parameter mit
das kürzeste übereinstimmende Muster (das ``#'' Fall) oder das längste übereinstimmende Muster (das
``##'' Fall) gelöscht. Wenn Parameter is @ or *, ist die Musterentfernungsoperation
auf jeden Positionsparameter der Reihe nach angewendet, und die Erweiterung ist die Resultierende
aufführen. Wenn Parameter ist eine Array-Variable, die mit indiziert ist @ or *, das Muster
Der Entfernungsvorgang wird der Reihe nach auf jedes Mitglied des Arrays angewendet, und die Erweiterung
ist die resultierende Liste.

${Parameter%Wort}
${Parameter%%Wort}
Entfernen Abstimmung Suffix Anleitungendem „Vermischten Geschmack“. Seine Wort wird zu einem Muster erweitert, genauso wie
in der Pfadnamenerweiterung. Wenn das Muster mit einem nachgestellten Teil des erweiterten übereinstimmt
Wert von Parameter, dann ist das Ergebnis der Erweiterung der erweiterte Wert von
Parameter mit dem kürzesten passenden Muster (das ``%'' Fall) oder der längste
passendes Muster (das ``%%'' Fall) gelöscht. Wenn Parameter is @ or *, das Muster
Die Entfernungsoperation wird der Reihe nach auf jeden Positionsparameter angewendet, und die
Erweiterung ist die resultierende Liste. Wenn Parameter ist eine tiefgestellte Array-Variable
mit @ or *, wird die Musterentfernungsoperation auf jedes Mitglied des Arrays angewendet
wiederum, und die Erweiterung ist die resultierende Liste.

${Parameter/Anleitungen/Schnur}
Schnittmuster Substitutiondem „Vermischten Geschmack“. Seine Anleitungen wird erweitert, um ein Muster wie in . zu erzeugen
Erweiterung des Pfadnamens. Parameter wird erweitert und das längste Spiel von Anleitungen gegen
sein Wert wird ersetzt durch Schnur. Wenn Anleitungen beginnt mit /, alle Spiele von
Anleitungen werden ersetzt durch Schnur. Normalerweise wird nur das erste Spiel ersetzt. Wenn
Anleitungen beginnt mit #, muss es am Anfang des erweiterten Werts von übereinstimmen
Parameter. Wenn Anleitungen beginnt mit %, es muss am Ende des erweiterten übereinstimmen
Wert von Parameter. Wenn Schnur ist null, Übereinstimmungen von Anleitungen werden gelöscht und die /
Folgende Anleitungen kann entfallen. Wenn Parameter is @ or *, die Ersetzung
Die Operation wird der Reihe nach auf jeden Positionsparameter angewendet, und die Erweiterung ist die
resultierende Liste. Wenn Parameter ist eine Array-Variable, die mit indiziert ist @ or *, der
Die Substitutionsoperation wird der Reihe nach auf jedes Element des Arrays angewendet, und die
Erweiterung ist die resultierende Liste.

${Parameter^Anleitungen}
${Parameter^^Anleitungen}
${Parameter,Anleitungen}
${Parameter,,Anleitungen}
Gehäuse Modifikation. Diese Erweiterung ändert die Groß-/Kleinschreibung von alphabetischen Zeichen in
Parameterdem „Vermischten Geschmack“. Seine Anleitungen wird erweitert, um ein Muster wie in Pfadname zu erzeugen
Erweiterung. Jedes Zeichen im erweiterten Wert von Parameter wird getestet gegen
Anleitungen, und wenn es mit dem Muster übereinstimmt, wird die Groß-/Kleinschreibung konvertiert. Das Muster sollte
Versuchen Sie nicht, mehr als ein Zeichen zu finden. Die ^ Operator wandelt Kleinbuchstaben um
Buchstaben übereinstimmend Anleitungen in Großbuchstaben; das , Operator wandelt passende Großbuchstaben um
Buchstaben in Kleinbuchstaben. Die ^^ und ,, Erweiterungen konvertieren jedes übereinstimmende Zeichen in
der erweiterte Wert; das ^ und , Erweiterungen passen und konvertieren nur die ersten
Zeichen im erweiterten Wert. Wenn Anleitungen weggelassen, wird es wie a . behandelt ?,
die zu jedem Charakter passt. Wenn Parameter is @ or *, die Fallmodifikation
Die Operation wird der Reihe nach auf jeden Positionsparameter angewendet, und die Erweiterung ist die
resultierende Liste. Wenn Parameter ist eine Array-Variable, die mit indiziert ist @ or *, der
Fallmodifikationsoperation wird der Reihe nach auf jedes Element des Arrays angewendet, und die
Erweiterung ist die resultierende Liste.

Befehl Substitution
Befehl Substitution ermöglicht die Ausgabe eines Befehls, den Befehlsnamen zu ersetzen. Dort
sind zwei Formen:

$(Befehl)
or
`Befehl`

Bash führt die Erweiterung durch Befehl und Ersetzen der Befehlsersetzung
mit der Standardausgabe des Befehls, wobei alle nachfolgenden Zeilenumbrüche gelöscht werden. Eingebettet
Zeilenumbrüche werden nicht gelöscht, können aber bei der Wortteilung entfernt werden. Der Befehl
Substitution $(Katze Datei) kann durch das Äquivalent ersetzt werden, aber schneller $( Datei).

Wenn die Backquote-Ersetzungsform im alten Stil verwendet wird, behält der Backslash sein Literal bei
Bedeutung außer wenn gefolgt von $, `, oder \. Das erste Backquote ohne a . vorangestellt
Backslash beendet die Befehlsersetzung. Bei Verwendung von $(Befehl) bilden, alle
Zeichen zwischen den Klammern bilden den Befehl; keine werden speziell behandelt.

Befehlsersetzungen können verschachtelt sein. Um zu verschachteln, wenn Sie die Backquotes-Form verwenden, maskieren Sie das
innere Backquotes mit Backslashes.

Wenn die Ersetzung in doppelten Anführungszeichen erscheint, Worttrennung und Pfadnamenerweiterung
werden nicht an den Ergebnissen durchgeführt.

Arithmetik Erweiterung
Die arithmetische Expansion ermöglicht die Auswertung eines arithmetischen Ausdrucks und die
Ersetzung des Ergebnisses. Das Format für die arithmetische Erweiterung ist:

$((Ausdruck))

Das alte Format $[Ausdruck] ist veraltet und wird in kommenden Versionen von . entfernt
schlag.

Das Ausdruck wird so behandelt, als ob es in doppelten Anführungszeichen steht, aber ein doppeltes Anführungszeichen darin
die Klammern werden nicht besonders behandelt. Alle Token im Ausdruck durchlaufen Parameter
und Variablenerweiterung, Befehlsersetzung und Entfernung von Anführungszeichen. Das Ergebnis wird behandelt als
der auszuwertende arithmetische Ausdruck. Arithmetische Erweiterungen können verschachtelt sein.

Die Auswertung erfolgt nach den unten aufgeführten Regeln unter ARITHMETIK
BEWERTUNG. Wenn Ausdruck ist ungültig, bash druckt eine Meldung, die auf einen Fehler hinweist und nein
Substitution auftritt.

Prozess Substitution
Prozess Substitution wird auf Systemen unterstützt, die Named Pipes unterstützen (FIFOs) Oder
/dev/fd Methode zum Benennen von geöffneten Dateien. Es hat die Form von <(Liste) or >(Liste)dem „Vermischten Geschmack“. Seine
Prozessdefinierung Liste wird mit seinem Eingang oder Ausgang an a . angeschlossen FIFO oder eine Datei in /dev/fd.
Der Name dieser Datei wird als Ergebnis des Befehls als Argument an den aktuellen Befehl übergeben
Erweiterung. Wenn die >(Liste) Formular verwendet wird, liefert das Schreiben in die Datei Eingaben für Liste.
Besitzt das <(Liste) form verwendet wird, sollte die als Argument übergebene Datei gelesen werden, um die
Ausgabe von Liste.

Falls verfügbar, wird die Prozesssubstitution gleichzeitig mit Parameter und . durchgeführt
Variablenexpansion, Befehlsersetzung und arithmetische Expansion.

Word Spaltung
Die Shell scannt die Ergebnisse der Parametererweiterung, Befehlsersetzung und Arithmetik
Erweiterung, die nicht in doppelten Anführungszeichen für . stattfand Wort Spaltung.

Die Shell behandelt jedes Zeichen von IFS als Trennzeichen und teilt die Ergebnisse der anderen
Erweiterungen in Wörter, die diese Zeichen als Feldabschlusszeichen verwenden. Wenn IFS ist nicht gesetzt, oder
sein Wert ist genau , die Standardeinstellung, dann Sequenzen von , ,
und Am Anfang und Ende der Ergebnisse der vorherigen Erweiterungen stehen
ignoriert, und jede Folge von IFS Zeichen nicht am Anfang oder Ende dienen zur Abgrenzung
Wörter. Wenn IFS einen anderen Wert als den Standardwert hat, dann Sequenzen des Leerraums
Zeichen Raum und Tab werden am Anfang und Ende des Wortes ignoriert, solange die
Leerzeichen haben den Wert von IFS (ein IFS Leerzeichen). Beliebiger Charakter
in IFS das ist nicht IFS Leerzeichen, zusammen mit allen angrenzenden IFS Leerzeichen,
grenzt ein Feld ab. Eine Folge von IFS Leerzeichen werden auch als Trennzeichen behandelt.
Wenn der Wert von IFS null ist, findet keine Worttrennung statt.

Explizite Nullargumente ("" or '') bleiben erhalten. Nicht in Anführungszeichen gesetzte implizite Nullargumente,
aus der Erweiterung von Parametern, die keine Werte haben, werden entfernt. Wenn eine
Parameter ohne Wert wird in doppelte Anführungszeichen erweitert, ein Nullargument ergibt sich und ist
behalten.

Beachten Sie, dass keine Aufteilung durchgeführt wird, wenn keine Expansion erfolgt.

Pfadname Erweiterung
Nach der Worttrennung, es sei denn, die -f Option wurde eingestellt, bash scannt jedes Wort nach dem
Zeichen *, ? und [. Wenn eines dieser Zeichen vorkommt, gilt das Wort als
a Anleitungen, und durch eine alphabetisch sortierte Liste von Dateinamen ersetzt, die mit dem
Muster (siehe Schnittmuster Abstimmung unter). Wenn keine passenden Dateinamen gefunden werden und die Shell
zu erhalten nullglob nicht aktiviert ist, bleibt das Wort unverändert. Wenn die nullglob Option ist
gesetzt und keine Übereinstimmungen gefunden werden, wird das Wort entfernt. Wenn die Failglob Shell-Option ist gesetzt,
und keine Übereinstimmungen gefunden werden, wird eine Fehlermeldung ausgegeben und der Befehl nicht ausgeführt. Wenn
die Shell-Option nocaseglob aktiviert ist, wird das Match ohne Rücksicht auf den Fall durchgeführt
von alphabetischen Zeichen. Beachten Sie, dass bei Verwendung von Bereichsausdrücken wie [az] (siehe unten)
Buchstaben des anderen Groß-/Kleinschreibung können enthalten sein, je nach Einstellung von LC_COLLATE. Wenn eine
Muster wird für die Pfadnamenerweiterung verwendet, das Zeichen ``.'' am Anfang eines Namens oder
unmittelbar nach einem Schrägstrich muss explizit abgeglichen werden, es sei denn, die Shell-Option Punktglob
eingestellt ist. Beim Abgleichen eines Pfadnamens muss der Schrägstrich immer explizit abgeglichen werden.
In anderen Fällen ist die ``.'' Charakter wird nicht besonders behandelt. Siehe die Beschreibung von
einkaufen unten unter SHELL GEBAUT BEFEHLE für eine Beschreibung der nocaseglob, nullglob,
Failglob und Punktglob Shell-Optionen.

Das GLOBIGNORE Die Shell-Variable kann verwendet werden, um den Satz von Dateinamen einzuschränken, die mit a . übereinstimmen
Anleitungen. Wenn GLOBIGNORE gesetzt ist, jeder übereinstimmende Dateiname, der auch mit einem der
Muster in GLOBIGNORE wird aus der Trefferliste entfernt. Die Dateinamen ``.'' und
``..'' werden immer ignoriert, wenn GLOBIGNORE ist gesetzt und nicht null. Einstellung
GLOBIGNORE auf einen Wert ungleich Null bewirkt, dass die Punktglob Shell-Option, also alle
andere Dateinamen, die mit a . beginnen ``.'' Wird zusammenpassen. Um das alte Verhalten des Ignorierens zu bekommen
Dateinamen beginnend mit a ``.'', machen ``.*'' eines der Muster in GLOBIGNOREdem „Vermischten Geschmack“. Seine
Punktglob Option ist deaktiviert, wenn GLOBIGNORE ist nicht gesetzt.

Schnittmuster Abstimmung

Jedes Zeichen, das in einem Muster erscheint, außer den Sonderzeichen des Musters
unten beschrieben, entspricht sich selbst. Das NUL-Zeichen darf in einem Muster nicht vorkommen. EIN
Backslash maskiert das folgende Zeichen; der entkommende Backslash wird verworfen, wenn
passend. Die Sonderzeichen des Musters müssen in Anführungszeichen gesetzt werden, wenn sie übereinstimmen sollen
buchstäblich.

Die Sonderzeichen des Musters haben folgende Bedeutungen:

* Entspricht einer beliebigen Zeichenfolge, einschließlich der Nullzeichenfolge. Wenn das Kugelstern Schale
Option aktiviert ist, und * wird in einem Pfadnamenerweiterungskontext verwendet, zwei
benachbart *s, die als einzelnes Muster verwendet werden, entsprechen allen Dateien und null oder mehr
Verzeichnisse und Unterverzeichnisse. Wenn gefolgt von a /, zwei nebeneinander *s wird
nur Verzeichnisse und Unterverzeichnisse abgleichen.
? Entspricht jedem einzelnen Zeichen.
[...] Entspricht einem der eingeschlossenen Zeichen. Ein Zeichenpaar getrennt
durch einen Bindestrich bezeichnet a Angebot Ausdruck; jedes Zeichen, das dazwischen liegt
diese beiden Zeichen (einschließlich) verwenden die Sortierung des aktuellen Gebietsschemas
Sequenz und Zeichensatz, abgestimmt ist. Wenn das erste Zeichen folgt
[ ist eine ! oder eine ^ dann wird jedes nicht eingeschlossene Zeichen abgeglichen. Die
Die Sortierreihenfolge der Zeichen in Bereichsausdrücken wird durch die
aktuelles Gebietsschema und die Werte der LC_COLLATE or LC_ALL Shell-Variablen,
wenn eingestellt. Um die traditionelle Interpretation von Bereichsausdrücken zu erhalten,
woher [Anzeige] entspricht [A B C D], Einstellwert der LC_ALL Shell-Variable
zu C, oder aktivieren Sie die Globasciiranges Shell-Option. EIN - kann übereinstimmen mit
es als erstes oder letztes Zeichen im Satz einschließen. EIN ] kann abgestimmt werden
indem Sie es als erstes Zeichen in den Satz aufnehmen.

Innerhalb [ und ], Charakter Unterricht kann mit der Syntax angegeben werden
[:Klasse:], Wobei Klasse ist eine der folgenden in POSIX definierten Klassen
Standard:
alnum Alpha ASCII leer Strg Ziffer Graph senken drucken Punkt Raum obere Wort
xStelle
Eine Charakterklasse entspricht jedem Charakter, der zu dieser Klasse gehört. Die Wort
Zeichenklasse entspricht Buchstaben, Ziffern und dem Zeichen _.

Innerhalb [ und ], ein Gleichwertigkeit Klasse kann mit der Syntax angegeben werden
[=c=], die alle Zeichen mit der gleichen Kollationsgewichtung (wie
durch das aktuelle Gebietsschema definiert) als Zeichen c.

Innerhalb [ und ], die Syntax [.Symbol.] entspricht dem Sortiersymbol Symbol.

Besitzt das extglob Shell-Option wird mit dem aktiviert einkaufen eingebaut, mehrere erweiterte Muster
passende Operatoren werden erkannt. In der folgenden Beschreibung, a Musterliste ist eine Liste
aus einem oder mehreren durch a . getrennten Mustern |. Zusammengesetzte Muster können unter Verwendung eines oder
mehr der folgenden Untermuster:

?(Musterliste)
Stimmt mit null oder einem Vorkommen der angegebenen Muster überein
*(Musterliste)
Entspricht null oder mehr Vorkommen der angegebenen Muster
+(Musterliste)
Entspricht einem oder mehreren Vorkommen der angegebenen Muster
@(Musterliste)
Entspricht einem der angegebenen Muster
!(Musterliste)
Passt zu allem außer einem der angegebenen Muster

Zitat Entfernung
Nach den vorherigen Erweiterungen sind alle nicht in Anführungszeichen gesetzten Vorkommen der Zeichen \, ' und "
die nicht durch eine der obigen Erweiterungen entstanden sind, werden entfernt.

UMLEITUNG


Bevor ein Befehl ausgeführt wird, kann seine Eingabe und Ausgabe umgeleitete mit einem speziellen
Notation, die von der Shell interpretiert wird. Die Umleitung ermöglicht, dass die Dateihandles von Befehlen
dupliziert, geöffnet, geschlossen, auf verschiedene Dateien verwiesen und kann die Dateien ändern
Befehl liest aus und schreibt in. Die Umleitung kann auch verwendet werden, um Datei-Handles in
die aktuelle Shell-Ausführungsumgebung. Die folgenden Umleitungsoperatoren können vorangehen
oder erscheinen an einer beliebigen Stelle innerhalb von a einfach Befehl oder kann folgen a Befehl. Weiterleitungen sind
werden in der angezeigten Reihenfolge von links nach rechts verarbeitet.

Jeder Umleitung, der möglicherweise eine Dateideskriptornummer vorangestellt ist, kann stattdessen eine vorangestellt werden
durch ein Wort der Form {Varname}. In diesem Fall für jeden Umleitungsoperator außer >&-
und <&-, weist die Shell einen Dateideskriptor größer oder gleich 10 zu und weist
es Varname. Wenn >&- oder <&- mit { vorangestellt istVarname}, der Wert von Varname definiert die
Dateideskriptor zu schließen.

Wenn in den folgenden Beschreibungen die Dateideskriptornummer weggelassen wird und die erste
Charakter des Umleitungsoperators ist <, die Weiterleitung bezieht sich auf die Standardeingabe
(Dateideskriptor 0). Wenn das erste Zeichen des Umleitungsoperators ist >, der
Umleitung bezieht sich auf die Standardausgabe (Dateideskriptor 1).

Das Wort nach dem Umleitungsoperator in den folgenden Beschreibungen, es sei denn
anders angegeben, unterliegt Klammerexpansion, Tildeexpansion, Parameter und Variable
Erweiterung, Befehlsersetzung, arithmetische Erweiterung, Entfernung von Zitaten, Erweiterung von Pfadnamen,
und Worttrennung. Wenn es auf mehr als ein Wort erweitert wird, bash meldet einen Fehler.

Beachten Sie, dass die Reihenfolge der Umleitungen wichtig ist. Zum Beispiel der Befehl

ls > dirliste 2>&1

leitet sowohl die Standardausgabe als auch den Standardfehler an die Datei dirliste, während der Befehl

ls 2>&1 > dirliste

leitet nur die Standardausgabe an die Datei weiter dirliste, denn der Standardfehler war
aus der Standardausgabe dupliziert, bevor die Standardausgabe umgeleitet wurde dirliste.

Bash behandelt mehrere Dateinamen speziell, wenn sie in Umleitungen verwendet werden, wie beschrieben
in der folgenden Tabelle:

/dev/fd/fd
If fd ist eine gültige ganze Zahl, Dateideskriptor fd ist dupliziert.
/dev/stdin
Dateideskriptor 0 wird dupliziert.
/dev/stdout
Dateideskriptor 1 wird dupliziert.
/dev/stderr
Dateideskriptor 2 wird dupliziert.
/dev/tcp/Gastgeber/port
If Gastgeber ein gültiger Hostname oder eine gültige Internetadresse ist, und port ist ein Integer-Port
Nummer oder Dienstname, bash versucht, den entsprechenden TCP-Socket zu öffnen.
/dev/udp/Gastgeber/port
If Gastgeber ein gültiger Hostname oder eine gültige Internetadresse ist, und port ist ein Integer-Port
Nummer oder Dienstname, bash versucht, den entsprechenden UDP-Socket zu öffnen.

Ein Fehler beim Öffnen oder Erstellen einer Datei führt dazu, dass die Umleitung fehlschlägt.

Umleitungen, die Dateideskriptoren größer als 9 verwenden, sollten mit Vorsicht verwendet werden, da sie möglicherweise
Konflikt mit Dateideskriptoren, die die Shell intern verwendet.

Beachten Sie, dass die exec Der Befehl builtin kann Umleitungen in der aktuellen Shell wirksam werden lassen.

Umleiten zufuhr
Die Umleitung der Eingabe führt dazu, dass die Datei, deren Name sich aus der Erweiterung von . ergibt, Wort sein
zum Lesen auf Dateideskriptor geöffnet n, oder die Standardeingabe (Dateideskriptor 0) wenn n is
keine Angabe.

Das allgemeine Format zum Umleiten von Eingaben ist:

[n]<Wort

Umleiten Output
Die Umleitung der Ausgabe bewirkt, dass die Datei, deren Name sich aus der Erweiterung von . ergibt, Wort sein
zum Schreiben auf Dateideskriptor geöffnet n, oder die Standardausgabe (Dateideskriptor 1) if n
ist nicht angegeben. Wenn die Datei nicht existiert, wird sie erstellt; wenn es existiert ist es
auf die Größe Null abgeschnitten.

Das allgemeine Format zum Umleiten der Ausgabe ist:

[n]>Wort

Wenn der Umleitungsoperator . ist >und der noclobber Option zum kompensieren eingebaut wurde
aktiviert ist, schlägt die Umleitung fehl, wenn die Datei, deren Name sich aus der Erweiterung von
Wort existiert und ist eine normale Datei. Wenn der Umleitungsoperator . ist >|, oder die Umleitung
Betreiber ist > und dem noclobber Option zum kompensieren eingebauter Befehl ist nicht aktiviert, der
Umleitung wird versucht, auch wenn die Datei mit dem Namen Wort besteht.

Anhängen Weitergeleitet Output
Die Umleitung der Ausgabe auf diese Weise bewirkt, dass die Datei, deren Name sich aus dem
Erweiterung von Wort zum Anhängen an Dateideskriptor zu öffnen n, oder die Standardausgabe
(Dateideskriptor 1) wenn n ist nicht angegeben. Wenn die Datei nicht existiert, wird sie erstellt.

Das allgemeine Format zum Anhängen von Ausgaben ist:

[n]>>Wort

Umleiten Normen Output und Normen Fehler
Dieses Konstrukt erlaubt sowohl die Standardausgabe (Dateideskriptor 1) als auch den Standardfehler
Ausgabe (Dateideskriptor 2), die an die Datei umgeleitet werden soll, deren Name die Erweiterung von . ist
Wort.

Es gibt zwei Formate zum Umleiten von Standardausgabe und Standardfehler:

&>Wort
und
>&Wort

Von den beiden Formen wird die erste bevorzugt. Dies ist semantisch äquivalent zu

>Wort 2>&1

Wenn Sie das zweite Formular verwenden, Wort darf nicht zu einer Zahl erweitert werden oder -. Wenn ja, andere
Umleitungsoperatoren gelten (siehe Duplizieren Reichen Sie das Deskriptoren unten) für Kompatibilität
Gründe dafür.

Anhängen Normen Output und Normen Fehler
Dieses Konstrukt erlaubt sowohl die Standardausgabe (Dateideskriptor 1) als auch den Standardfehler
Ausgabe (Dateideskriptor 2), die an die Datei angehängt wird, deren Name die Erweiterung von . ist Wort.

Das Format zum Anhängen von Standardausgabe und Standardfehler ist:

&>>Wort

Dies ist semantisch äquivalent zu

>>Wort 2>&1

(sehen Duplizieren Reichen Sie das Deskriptoren unten).

Hier Dokumente
Diese Art der Umleitung weist die Shell an, Eingaben aus der aktuellen Quelle zu lesen, bis a
Zeile mit nur Trennzeichen (ohne abschließende Leerzeichen) wird angezeigt. Alle Zeilen gelesen
bis zu diesem Punkt werden dann als Standardeingabe für einen Befehl verwendet.

Das Format der Here-Dokumente ist:

<<[-]Wort
Hier-Dokument
Trennzeichen

Keine Parameter- und Variablenerweiterung, Befehlsersetzung, arithmetische Erweiterung oder
Pfadnamenerweiterung wird durchgeführt am Wort. Wenn irgendwelche Zeichen in Wort zitiert werden, die
Trennzeichen ist das Ergebnis der Entfernung von Angeboten am Wort, und die Zeilen im Here-Dokument sind
nicht erweitert. Wenn Wort ist nicht zitiert, alle Zeilen des Here-Dokuments unterliegen
Parametererweiterung, Befehlsersetzung und arithmetische Erweiterung, das Zeichen
Reihenfolge \ wird ignoriert, und \ muss verwendet werden, um die Zeichen zu zitieren \, $ und `.

Wenn der Umleitungsoperator . ist <<-, dann werden alle führenden Tabulatorzeichen entfernt
Eingabezeilen und die Zeile mit Trennzeichen. Dies ermöglicht Here-Dokumente innerhalb der Shell
Skripte werden auf natürliche Weise eingerückt.

Hier Streicher
Eine Variante dieser Dokumente, das Format ist:

<<Wort

Das Wort erfährt Klammerexpansion, Tildeexpansion, Parameter- und Variablenexpansion,
Befehlsersetzung, arithmetische Erweiterung und Entfernung von Anführungszeichen. Pfadnamenerweiterung und
Worttrennungen werden nicht durchgeführt. Das Ergebnis wird als einzelner String an die . geliefert
Befehl auf seiner Standardeingabe.

Duplizieren Reichen Sie das Deskriptoren
Der Umleitungsoperator

[n]<&Wort

wird verwendet, um Eingabedateideskriptoren zu duplizieren. Wenn Wort auf eine oder mehrere Ziffern erweitert, die
Dateideskriptor bezeichnet mit n wird als Kopie dieses Dateideskriptors erstellt. Wenn die Ziffern
in Wort Geben Sie keinen für die Eingabe geöffneten Dateideskriptor an, tritt ein Umleitungsfehler auf. Wenn
Wort bewertet zu -, Dateideskriptor n ist geschlossen. Wenn n ist nicht angegeben, der Standard
input (Dateideskriptor 0) wird verwendet.

Der Betreiber

[n]>&Wort

wird ähnlich verwendet, um Ausgabedateideskriptoren zu duplizieren. Wenn n ist nicht angegeben, die
Standardausgabe (Dateideskriptor 1) wird verwendet. Wenn die Ziffern in Wort keine Datei angeben
Deskriptor für die Ausgabe geöffnet, tritt ein Umleitungsfehler auf. Wenn Wort bewertet zu -, Datei
Deskriptor n ist geschlossen. Als Sonderfall, wenn n entfällt, und Wort erweitert sich nicht auf
eine oder mehrere Ziffern oder -, die Standardausgabe und der Standardfehler werden umgeleitet als
vorher beschrieben.

Ziehen um Reichen Sie das Deskriptoren
Der Umleitungsoperator

[n]<&Ziffer-

verschiebt den Dateideskriptor Ziffer zum Dateideskriptor n, oder die Standardeingabe (Datei
Deskriptor 0) wenn n ist nicht angegeben. Ziffer wird nach dem Duplizieren auf geschlossen n.

Ebenso der Umleitungsoperator

[n]>&Ziffer-

verschiebt den Dateideskriptor Ziffer zum Dateideskriptor n, oder die Standardausgabe (Datei
Deskriptor 1) wenn n ist nicht angegeben.

Öffnung Reichen Sie das Deskriptoren für Lesebrillen und Schreiben
Der Umleitungsoperator

[n]<>Wort

bewirkt die Datei, deren Name die Erweiterung von . ist Wort sowohl zum Lesen als auch zum Öffnen geöffnet werden
Schreiben auf Dateideskriptor n, oder auf Dateideskriptor 0 if n ist nicht angegeben. Wenn die Datei
existiert nicht, es wird erstellt.

ALIAS


Aliases zulassen, dass ein Wort durch eine Zeichenfolge ersetzt wird, wenn es als erstes Wort von a . verwendet wird
einfacher Befehl. Die Shell unterhält eine Liste von Aliasen, die mit dem gesetzt und deaktiviert werden können
alias und Unalias eingebaute Befehle (siehe SHELL GEBAUT BEFEHLE unter). Das erste Wort von
Jeder einfache Befehl wird, wenn er nicht in Anführungszeichen steht, überprüft, um zu sehen, ob er einen Alias ​​hat. Wenn ja, dieses Wort
wird durch den Text des Alias ​​ersetzt. Die Charaktere /, $, ` und = und irgendeine der schalen
Metazeichen oder die oben aufgeführten Zeichen in Anführungszeichen erscheinen möglicherweise nicht in einem Aliasnamen. Die
Ersetzungstext kann jede gültige Shell-Eingabe enthalten, einschließlich Shell-Metazeichen. Die
das erste Wort des Ersetzungstextes wird auf Aliase geprüft, aber ein Wort, das mit identisch ist
ein zu erweiternder Alias ​​wird nicht ein zweites Mal erweitert. Dies bedeutet, dass man ein Pseudonym machen darf ls
zu ls -F, zum Beispiel, und bash versucht nicht, den Ersetzungstext rekursiv zu erweitern.
Wenn das letzte Zeichen des Alias-Wertes a . ist leer, dann das nächste Befehlswort nach
der Alias ​​wird auch auf Alias-Erweiterung überprüft.

Aliase werden erstellt und mit dem alias Befehl und entfernt mit dem Unalias
Befehl.

Es gibt keinen Mechanismus für die Verwendung von Argumenten im Ersetzungstext. Wenn Argumente sind
benötigt, sollte eine Shell-Funktion verwendet werden (siehe FUNKTIONEN unten).

Aliase werden nicht erweitert, wenn die Shell nicht interaktiv ist, es sei denn, die expand_aliases
Shell-Option wird gesetzt mit einkaufen (siehe Beschreibung von einkaufen für SHELL GEBAUT BEFEHLE
unten).

Die Regeln zur Definition und Verwendung von Aliasnamen sind etwas verwirrend. Bash
liest immer mindestens eine komplette Eingabezeile, bevor ein Befehl ausgeführt wird
diese Zeile. Aliase werden beim Lesen eines Befehls erweitert, nicht beim Ausführen.
Daher dauert eine Alias-Definition, die in derselben Zeile wie ein anderer Befehl erscheint, nicht
bis die nächste Eingabezeile gelesen wird. Die Befehle nach der Alias-Definition
in dieser Zeile sind vom neuen Alias ​​nicht betroffen. Dieses Verhalten ist auch ein Problem, wenn
Funktionen ausgeführt werden. Aliase werden beim Lesen einer Funktionsdefinition erweitert, nicht beim
die Funktion wird ausgeführt, da eine Funktionsdefinition selbst ein zusammengesetzter Befehl ist. Wie
Infolgedessen sind in einer Funktion definierte Aliase erst nach dieser Funktion verfügbar
ausgeführt wird. Setzen Sie zur Sicherheit Alias-Definitionen immer in eine separate Zeile und verwenden Sie nicht
alias in zusammengesetzten Befehlen.

Für fast jeden Zweck werden Aliase durch Shell-Funktionen ersetzt.

FUNKTIONEN


Eine Shell-Funktion, definiert wie oben unter SHELL GRAMMATIK, speichert eine Reihe von
Befehle zur späteren Ausführung. Wenn der Name einer Shell-Funktion als einfaches
Befehlsname, die Liste der Befehle, die diesem Funktionsnamen zugeordnet sind, wird ausgeführt.
Funktionen werden im Kontext der aktuellen Shell ausgeführt; Es wird kein neuer Prozess erstellt, um
interpretieren (im Gegensatz dazu die Ausführung eines Shell-Skripts). Wenn eine Funktion
ausgeführt werden, werden die Argumente der Funktion die Positionsparameter während ihrer
Hinrichtung. Der besondere Parameter # wird aktualisiert, um die Änderung widerzuspiegeln. Sonderparameter 0
ist unverändert. Das erste Element der FUNKNAME Variable wird auf den Namen des
Funktion während die Funktion ausgeführt wird.

Alle anderen Aspekte der Shell-Ausführungsumgebung sind zwischen einer Funktion und . identisch
sein Anrufer mit diesen Ausnahmen: the DEBUGGEN und RÜCKKEHR Fallen (siehe Beschreibung der
Falle eingebaut unter SHELL GEBAUT BEFEHLE unten) werden nicht vererbt, es sei denn, die Funktion hat
gegeben wurde Spur Attribut (siehe die Beschreibung des erklären unten eingebaut) oder die
-o Funktion Shell-Option wurde mit dem aktiviert kompensieren eingebaut (in diesem Fall alle
Funktionen erben die DEBUGGEN und RÜCKKEHR Fallen) und die ERR trap wird nicht vererbt, es sei denn
-o Fehler Shell-Option wurde aktiviert.

Lokale Variablen der Funktion können mit dem deklariert werden aus einer regionalen eingebauter Befehl.
Normalerweise werden Variablen und ihre Werte zwischen der Funktion und ihrem Aufrufer geteilt.

Das Am lustigsten Variable, wenn sie auf einen numerischen Wert größer als 0 gesetzt ist, definiert ein Maximum
Verschachtelungsebene der Funktion. Funktionsaufrufe, die das Limit überschreiten, verursachen den gesamten
Befehl zum Abbrechen.

Wenn der eingebaute Befehl Rückkehr in einer Funktion ausgeführt wird, wird die Funktion abgeschlossen und
Die Ausführung wird mit dem nächsten Befehl nach dem Funktionsaufruf fortgesetzt. Jeder zugehörige Befehl
an. Nach der Installation können Sie HEIC-Dateien mit der RÜCKKEHR trap wird ausgeführt, bevor die Ausführung fortgesetzt wird. Wenn eine Funktion abgeschlossen ist, wird die
Werte der Positionsparameter und des Sonderparameters # werden auf die Werte zurückgesetzt
sie hatten vor der Ausführung der Funktion.

Funktionsnamen und Definitionen können mit dem -f Option zum erklären or setzen
eingebaute Befehle. Die -F Option zu erklären or setzen listet nur die Funktionsnamen auf
(und optional die Quelldatei und die Zeilennummer, wenn die extdebug Shell-Option ist aktiviert).
Funktionen können exportiert werden, sodass sie automatisch in Subshells definiert werden mit dem -f
Option zum exportieren eingebaut. Eine Funktionsdefinition kann mit der gelöscht werden -f Option zu
ungesetzt eingebaut. Beachten Sie, dass Shell-Funktionen und Variablen mit demselben Namen resultieren können
in mehreren gleichnamigen Einträgen in der Umgebung, die an die Kinder der Shell übergeben werden.
In Fällen, in denen dies zu Problemen führen kann, ist Vorsicht geboten.

Funktionen können rekursiv sein. Die Am lustigsten Variable kann verwendet werden, um die Tiefe des
Funktionsaufruf-Stack und begrenzen Sie die Anzahl der Funktionsaufrufe. Standardmäßig keine Begrenzung
wird auf die Anzahl der rekursiven Aufrufe auferlegt.

ARITHMETIK BEWERTUNG


Die Shell erlaubt unter Umständen die Auswertung arithmetischer Ausdrücke (siehe
lassen und erklären eingebaute Befehle und Arithmetik Erweiterung). Die Auswertung erfolgt in
Ganzzahlen mit fester Breite ohne Prüfung auf Überlauf, obwohl die Division durch 0 abgefangen wird und
als Fehler gekennzeichnet. Die Operatoren und ihre Rangfolge, Assoziativität und Werte sind
das gleiche wie in der C-Sprache. Die folgende Liste von Operatoren ist in Ebenen von gruppiert
gleichrangige Operatoren. Die Ebenen sind in absteigender Reihenfolge aufgelistet.

id++ id--
variabel nach Inkrement und Post-Dekrement
++id --id
Variables Vorinkrement und Vordekrement
- + unäres Minus und Plus
! ~ logische und bitweise Negation
** Potenzierung
* / % Multiplikation, Division, Rest
+ - Addition Subtraktion
<< >> Bitweise Verschiebungen nach links und rechts
<= >= < >
Vergleich
== != Gleichheit und Ungleichheit
& bitweises UND
^ bitweises exklusives ODER
| bitweise ODER
&& logisches UND
|| logisches ODER
ausdr?ausdr:ausdr
bedingter Operator
= *= /= %= += -= << = >> = &= ^= |=
Zuordnung
Ausdruck1 , Ausdruck2
Komma

Shell-Variablen sind als Operanden erlaubt; Parametererweiterung wird vor dem
Ausdruck ausgewertet wird. Innerhalb eines Ausdrucks können Shell-Variablen auch durch referenziert werden
name ohne Verwendung der Parametererweiterungssyntax. Eine Shell-Variable, die null oder nicht gesetzt ist
wird zu 0 ausgewertet, wenn namentlich referenziert wird, ohne die Parametererweiterungssyntax zu verwenden. Die
der Wert einer Variablen wird als arithmetischer Ausdruck ausgewertet, wenn darauf verwiesen wird, oder
wenn eine Variable, der die ganze Zahl Attribut mit erklären -i ist zugewiesen a
Wert. Ein Nullwert wird zu 0 ausgewertet. Eine Shell-Variable muss nicht ihre ganze Zahl Attribut
aktiviert, um in einem Ausdruck verwendet zu werden.

Konstanten mit einer führenden 0 werden als Oktalzahlen interpretiert. Ein führendes 0x oder 0X bezeichnet
hexadezimal. Andernfalls haben Zahlen die Form [Base#]n, wobei das optionale Base ist eine
Dezimalzahl zwischen 2 und 64, die die arithmetische Basis darstellt, und n ist eine Zahl in
diese Basis. Wenn Base# weggelassen wird, dann wird die Basis 10 verwendet. Bei der Angabe n, die Ziffern
größer < als 9 werden durch Kleinbuchstaben, Großbuchstaben, @ und _ dargestellt,
in dieser Reihenfolge. Wenn Base kleiner oder gleich 36 ist, können Klein- und Großbuchstaben
austauschbar verwendet werden, um Zahlen zwischen 10 und 35 darzustellen.

Operatoren werden in der Reihenfolge ihrer Rangfolge ausgewertet. Unterausdrücke in Klammern sind
zuerst ausgewertet und kann die oben genannten Vorrangregeln außer Kraft setzen.

BEDINGT AUSDRÜCKE


Bedingte Ausdrücke werden von der [[ zusammengesetzter Befehl und die Test und [ builtin
Befehle zum Testen von Dateiattributen und zum Ausführen von Zeichenfolgen- und arithmetischen Vergleichen.
Ausdrücke werden aus den folgenden unären oder binären Primärfarben gebildet. Wenn überhaupt Datei Argument
zu einer der Vorwahlen hat die Form /dev/fd/n, dann Dateideskriptor n wird geprüft. Wenn
Datei Argument zu einer der Vorwahlen ist eines von /dev/stdin, /dev/stdout, oder
/dev/stderr, Dateideskriptor 0, 1 bzw. 2 wird geprüft.

Sofern nicht anders angegeben, folgen primäre Dateien, die mit Dateien arbeiten, symbolischen Links und
auf das Ziel des Links und nicht auf den Link selbst operieren.

Bei Verwendung mit [[, der < und > Operatoren sortieren lexikografisch nach dem aktuellen Gebietsschema.
Das Test Befehl sortiert nach ASCII-Reihenfolge.

-a Datei
Wahr, wenn Datei besteht.
-b Datei
Wahr, wenn Datei existiert und ist eine Block-Spezialdatei.
-c Datei
Wahr, wenn Datei existiert und ist eine spezielle Zeichendatei.
-d Datei
Wahr, wenn Datei existiert und ist ein Verzeichnis.
-e Datei
Wahr, wenn Datei besteht.
-f Datei
Wahr, wenn Datei existiert und ist eine normale Datei.
-g Datei
Wahr, wenn Datei existiert und ist set-group-id.
-h Datei
Wahr, wenn Datei existiert und ist ein symbolischer Link.
-k Datei
Wahr, wenn Datei existiert und sein ``sticky''-Bit ist gesetzt.
-p Datei
Wahr, wenn Datei existiert und ist eine Named Pipe (FIFO).
-r Datei
Wahr, wenn Datei existiert und ist lesbar.
-s Datei
Wahr, wenn Datei existiert und hat eine Größe größer als Null.
-t fd True, wenn Dateideskriptor fd ist offen und bezieht sich auf ein Terminal.
-u Datei
Wahr, wenn Datei existiert und sein set-user-id-Bit ist gesetzt.
-w Datei
Wahr, wenn Datei existiert und ist beschreibbar.
-x Datei
Wahr, wenn Datei existiert und ist ausführbar.
-G Datei
Wahr, wenn Datei existiert und gehört der effektiven Gruppen-ID.
-L Datei
Wahr, wenn Datei existiert und ist ein symbolischer Link.
-N Datei
Wahr, wenn Datei existiert und wurde seit dem letzten Lesen geändert.
-O Datei
Wahr, wenn Datei existiert und gehört der effektiven Benutzer-ID.
-S Datei
Wahr, wenn Datei existiert und ist eine Steckdose.
file1 -wenn file2
Wahr, wenn file1 und file2 beziehen sich auf die gleichen Geräte- und Inode-Nummern.
file1 -nt file2
Wahr, wenn file1 ist neuer (gemäß Änderungsdatum) als file2, oder wenn file1
existiert und file2 nicht.
file1 -ot file2
Wahr, wenn file1 ist älter als file2, oder wenn file2 existiert und file1 nicht.
-o Optname
True, wenn die Shell-Option Optname aktiviert. Siehe die Liste der Optionen unter dem
Beschreibung des -o Option zum kompensieren unten eingebaut.
-v Varname
True, wenn die Shell-Variable Varname gesetzt ist (mit Wert belegt).
-R Varname
True, wenn die Shell-Variable Varname gesetzt ist und eine Namensreferenz ist.
-z Schnur
Wahr, wenn die Länge von Schnur ist null.
Schnur
-n Schnur
Wahr, wenn die Länge von Schnur ist nicht Null.

string1 == string2
string1 = string2
True, wenn die Zeichenfolgen gleich sind. = sollte mit dem verwendet werden Test Befehl für POSIX
Konformität. Bei Verwendung mit dem [[ Befehl, dies führt einen Mustervergleich durch als
oben beschrieben (Compounds Befehle).

string1 != string2
True, wenn die Zeichenfolgen nicht gleich sind.

string1 < string2
Wahr, wenn string1 sortiert vor string2 lexikographisch.

string1 > string2
Wahr, wenn string1 sortiert nach string2 lexikographisch.

Arg1 OP Arg2
OP eines von -Gl, -ne, -L-, Le-, -GT, oder -geben Sie. Diese arithmetischen Binäroperatoren
true zurückgeben, wenn Arg1 ist gleich, ungleich, kleiner als, kleiner oder gleich,
größer oder größer oder gleich Arg2, Bzw. arg1 und Arg2 könnte sein
positive oder negative ganze Zahlen.

Schlicht COMMAND ERWEITERUNG


Wenn ein einfacher Befehl ausgeführt wird, führt die Shell die folgenden Erweiterungen durch:
Zuweisungen und Umleitungen von links nach rechts.

1. Die Wörter, die der Parser als Variablenzuweisungen markiert hat (die vor dem
Befehlsname) und Umleitungen werden für die spätere Verarbeitung gespeichert.

2. Die Wörter, die keine Variablenzuweisungen oder Umleitungen sind, werden erweitert. Wenn überhaupt
Wörter bleiben nach der Erweiterung übrig, das erste Wort wird als Name des Befehls genommen
und die restlichen Wörter sind die Argumente.

3. Umleitungen werden wie oben unter beschrieben durchgeführt UMLEITUNG.

4. Der Text nach dem = in jeder Variablenzuweisung erfährt eine Tilde-Expansion,
Parametererweiterung, Befehlsersetzung, arithmetische Erweiterung und Entfernung von Anführungszeichen
bevor sie der Variablen zugewiesen werden.

Wenn sich kein Befehlsname ergibt, wirken sich die Variablenzuweisungen auf die aktuelle Shell-Umgebung aus.
Andernfalls werden die Variablen der Umgebung des ausgeführten Befehls hinzugefügt und nicht
die aktuelle Shell-Umgebung beeinflussen. Wenn eine der Zuweisungen versucht, a
Wert in eine schreibgeschützte Variable, ein Fehler tritt auf und der Befehl wird mit einem Wert ungleich Null beendet
Status.

Wenn kein Befehlsname resultiert, werden Umleitungen durchgeführt, wirken sich jedoch nicht auf den aktuellen
Shell-Umgebung. Ein Umleitungsfehler führt dazu, dass der Befehl mit einem Status ungleich Null beendet wird.

Wenn nach der Erweiterung ein Befehlsname übrig bleibt, wird die Ausführung wie unten beschrieben fortgesetzt.
Andernfalls wird der Befehl beendet. Wenn eine der Erweiterungen eine Befehlsersetzung enthielt,
der Exit-Status des Befehls ist der Exit-Status der letzten Befehlsersetzung
durchgeführt. Wenn es keine Befehlsersetzungen gab, wird der Befehl mit dem Status beendet
Null.

COMMAND EXECUTION


Nachdem ein Befehl in Wörter aufgeteilt wurde, wenn er zu einem einfachen Befehl führt und ein
optionale Liste von Argumenten, werden die folgenden Aktionen ausgeführt.

Wenn der Befehlsname keine Schrägstriche enthält, versucht die Shell, ihn zu finden. Falls vorhanden
eine Shell-Funktion mit diesem Namen, diese Funktion wird wie oben beschrieben aufgerufen in FUNKTIONEN.
Wenn der Name nicht mit einer Funktion übereinstimmt, sucht die Shell danach in der Liste der Shell
eingebaut. Wenn eine Übereinstimmung gefunden wird, wird dieses eingebaute aufgerufen.

Wenn der Name weder eine Shell-Funktion noch ein Builtin ist und keine Schrägstriche enthält, bash
durchsucht jedes Element der PATH für ein Verzeichnis, das eine ausführbare Datei enthält
Namen. Bash verwendet eine Hash-Tabelle, um sich die vollständigen Pfadnamen ausführbarer Dateien zu merken (siehe Hash-
für SHELL GEBAUT BEFEHLE unter). Eine vollständige Suche der Verzeichnisse in PATH is
wird nur ausgeführt, wenn der Befehl nicht in der Hash-Tabelle gefunden wird. Wenn die Suche ist
erfolglos, die Shell sucht nach einer definierten Shell-Funktion namens
command_not_found_handle. Wenn diese Funktion existiert, wird sie mit dem Original aufgerufen
Befehl und die Argumente des ursprünglichen Befehls als seine Argumente und der Ausgang der Funktion
status wird zum Exit-Status der Shell. Wenn diese Funktion nicht definiert ist, wird die Shell
gibt eine Fehlermeldung aus und gibt einen Exit-Status von 127 zurück.

Wenn die Suche erfolgreich ist oder der Befehlsname einen oder mehrere Schrägstriche enthält, wird die
Shell führt das genannte Programm in einer separaten Ausführungsumgebung aus. Argument 0 ist gesetzt
auf den angegebenen Namen, und die restlichen Argumente des Befehls werden auf die Argumente gesetzt
gegeben, falls vorhanden.

Wenn diese Ausführung fehlschlägt, weil die Datei nicht im ausführbaren Format vorliegt und die Datei nicht
ein Verzeichnis, es wird als a . angenommen Schale Skript, eine Datei mit Shell-Befehlen. EIN
Subshell wird erzeugt, um es auszuführen. Diese Unterschale reinitialisiert sich selbst, so dass der Effekt
ist, als ob eine neue Shell aufgerufen worden wäre, um das Skript zu verarbeiten, mit der Ausnahme, dass die
Speicherorte von Befehlen, die sich die Eltern merken (siehe Hash- unten unter SHELL GEBAUT
BEFEHLE) bleiben vom Kind erhalten.

Wenn das Programm eine Datei ist, die mit beginnt #!, der Rest der ersten Zeile gibt an
Dolmetscher für das Programm. Die Shell führt den angegebenen Interpreter beim Betrieb aus
Systeme, die dieses ausführbare Format nicht selbst verarbeiten. Die Argumente für die
Interpreter bestehen aus einem einzelnen optionalen Argument, das auf den Interpreternamen folgt
erste Zeile des Programms, gefolgt vom Namen des Programms, gefolgt vom Befehl
Argumente, ggf.

COMMAND EXECUTION


Die Schale hat eine Ausführung Umwelt, bestehend aus:

· offene Dateien, die beim Aufruf von der Shell geerbt wurden, wie durch Umleitungen geändert
geliefert an die exec builtin

· das aktuelle Arbeitsverzeichnis wie von . festgelegt cd, pushd, oder popd, oder geerbt von der
Schale bei Aufruf

· die Dateierstellungsmodus-Maske wie von . eingestellt umask oder vom Elternteil der Shell geerbt

· aktuelle Fallen von Falle

· Shell-Parameter, die durch Variablenzuweisung oder mit . gesetzt werden kompensieren oder geerbt von
das Elternteil der Shell in der Umgebung

· Shell-Funktionen, die während der Ausführung definiert oder vom Elternteil der Shell in . geerbt werden
die Umwelt

· beim Aufruf aktivierte Optionen (entweder standardmäßig oder mit Befehlszeilenargumenten) oder
by kompensieren

· Optionen aktiviert von einkaufen

· Shell-Aliasnamen definiert mit alias

· verschiedene Prozess-IDs, auch von Hintergrundjobs, der Wert von $$und der
Wert von PPID

Wenn ein anderer einfacher Befehl als eine eingebaute oder Shell-Funktion ausgeführt werden soll, ist dies
wird in einer separaten Ausführungsumgebung aufgerufen, die aus Folgendem besteht. Wenn nicht
andernfalls werden die Werte von der Shell geerbt.

· die geöffneten Dateien der Shell sowie alle von . angegebenen Änderungen und Ergänzungen
Weiterleitungen zum Befehl

· das aktuelle Arbeitsverzeichnis

· die Maske für den Dateierstellungsmodus

· Shell-Variablen und -Funktionen, die für den Export markiert sind, zusammen mit Variablen, für die exportiert wurde
der Befehl, übergeben in der Umgebung

· von der Shell abgefangene Traps werden auf die von der Shell geerbten Werte zurückgesetzt
Parent und Traps, die von der Shell ignoriert werden, werden ignoriert

Ein in dieser separaten Umgebung aufgerufener Befehl kann die Ausführung der Shell nicht beeinflussen
Umwelt.

Befehlsersetzung, mit Klammern gruppierte Befehle und asynchrone Befehle sind
in einer Subshell-Umgebung aufgerufen, die ein Duplikat der Shell-Umgebung ist, außer
dass Traps, die von der Shell abgefangen wurden, auf die Werte zurückgesetzt werden, die die Shell von ihrem geerbt hat
Elternteil bei Anrufung. Integrierte Befehle, die als Teil einer Pipeline aufgerufen werden, sind auch
in einer Subshell-Umgebung ausgeführt. Änderungen an der Subshell-Umgebung können nicht
die Ausführungsumgebung der Shell beeinflussen.

Subshells, die erzeugt werden, um Befehlsersetzungen auszuführen, erben den Wert von -e Option von
die Elternschale. Wenn nicht in POSIX Modus bash löscht die -e Option in solchen Unterschalen.

Wenn auf einen Befehl ein a . folgt & und Jobsteuerung nicht aktiv ist, die Standard-Standardeingabe
für den Befehl ist die leere Datei / dev / null. Andernfalls erbt der aufgerufene Befehl die
Dateideskriptoren der aufrufenden Shell, wie sie durch Umleitungen geändert wurden.


Wenn ein Programm aufgerufen wird, erhält es ein Array von Strings namens Umwelt. Dies ist
eine Liste von Name-Wert Paare, der Form Name=Wert.

Die Shell bietet mehrere Möglichkeiten, die Umgebung zu manipulieren. Beim Aufruf wird die Schale
scannt seine eigene Umgebung und erstellt automatisch einen Parameter für jeden gefundenen Namen
markiere es für exportieren zu untergeordneten Prozessen. Ausgeführte Befehle erben die Umgebung. Der
exportieren und erklären -x Befehle ermöglichen das Hinzufügen und Löschen von Parametern und Funktionen
aus der Umwelt. Wenn der Wert eines Parameters in der Umgebung geändert wird, wird das neue
Wert wird Teil der Umwelt und ersetzt das Alte. Die Umgebung geerbt von
Jeder ausgeführte Befehl besteht aus der ursprünglichen Umgebung der Shell, deren Werte sein können
in der Schale modifiziert, abzüglich etwaiger Paare, die durch die . entfernt wurden ungesetzt Befehl, plus alle Ergänzungen über
exportieren und erklären -x Befehle.

Die Umgebung für jeden einfach Befehl oder Funktion kann vorübergehend erweitert werden um
Parametrierung voranstellen, wie oben in beschrieben PARAMETER. Diese
Zuweisungsanweisungen wirken sich nur auf die Umgebung aus, die von diesem Befehl gesehen wird.

Besitzt das -k Option ist gesetzt (siehe kompensieren eingebauter Befehl unten), dann alle Parameter
Zuweisungen werden in der Umgebung für einen Befehl platziert, nicht nur diejenigen, die dem Befehl vorausgehen
Befehlsname.

Wann bash ruft einen externen Befehl auf, die Variable _ wird auf den vollständigen Dateinamen des
Befehl und an diesen Befehl in seiner Umgebung übergeben.

EXIT STATUS


Der Exit-Status eines ausgeführten Befehls ist der von der wartepid Systemaufruf oder
gleichwertige Funktion. Exit-Status liegen zwischen 0 und 255, aber wie unten erklärt,
die Shell kann speziell Werte über 125 verwenden. Exit-Status von Shell-Builins und
Verbundbefehle sind ebenfalls auf diesen Bereich beschränkt. Unter Umständen kann die Schale
verwendet spezielle Werte, um bestimmte Fehlermodi anzuzeigen.

Für die Zwecke der Shell war ein Befehl erfolgreich, der mit einem Exit-Status von Null beendet wird. Ein
Der Exit-Status Null zeigt den Erfolg an. Ein Exit-Status ungleich Null zeigt einen Fehler an. Wenn ein
Befehl endet bei einem fatalen Signal N, bash verwendet den Wert 128+N als Ausgangsstatus.

Wenn ein Befehl nicht gefunden wird, gibt der zu seiner Ausführung erstellte untergeordnete Prozess den Status zurück
127. Wenn ein Befehl gefunden wird, aber nicht ausführbar ist, ist der Rückgabestatus 126.

Wenn ein Befehl aufgrund eines Fehlers während der Erweiterung oder Umleitung fehlschlägt, ist der Exit-Status
größer als null.

Eingebaute Shell-Befehle geben den Status 0 zurück (was immer dies auch sein sollte.) wenn erfolgreich, und ungleich Null (falsch) ob
während der Ausführung tritt ein Fehler auf. Alle Builtins geben einen Exit-Status von 2 zurück, um anzuzeigen
falsche Verwendung.

Bash selbst gibt den Exit-Status des zuletzt ausgeführten Befehls zurück, es sei denn, es liegt ein Syntaxfehler vor
auftritt, in welchem ​​Fall es mit einem Wert ungleich Null beendet wird. Siehe auch die wunsch eingebauter Befehl
unten.

SIGNALE


Wann bash ist interaktiv, wenn keine Fallen vorhanden sind, ignoriert es ZIELLAUFZEIT (damit töten 0
tötet keine interaktive Shell) und SIGINT gefangen und gehandhabt wird (damit die warten
eingebaut ist unterbrechbar). Auf alle Fälle, bash ignoriert SO VIEL. Wenn die Jobkontrolle in ist
bewirken, bash ignoriert SIGTIN, SIGTTOU und SIGTSTP.

Nicht integrierte Befehle, die von . ausgeführt werden bash haben Signal-Handler auf die Werte gesetzt, die von der . geerbt wurden
Shell von seinem Elternteil. Wenn die Jobsteuerung nicht aktiv ist, ignorieren asynchrone Befehle
SIGINT und SO VIEL zusätzlich zu diesen geerbten Handlern. Befehle werden ausgeführt als Ergebnis von
Befehlsersetzung ignoriert die von der Tastatur generierten Jobsteuersignale SIGTIN, SIGTTOU,
und SIGTSTP.

Die Shell wird standardmäßig nach Erhalt von a . beendet SEUFZEND. Vor dem Beenden wird eine interaktive Shell
sendet die SEUFZEND zu allen Jobs, laufend oder gestoppt. Angehaltene Jobs werden gesendet WEITERFORTS zu
stellen Sie sicher, dass sie die SEUFZEND. Um zu verhindern, dass die Shell das Signal an a . sendet
bestimmten Job, sollte er mit dem aus der Job-Tabelle entfernt werden verleugnen eingebaut (siehe
SHELL GEBAUT BEFEHLE unten) oder als nicht erhalten markiert SEUFZEND Verwendung von verleugnen -h.

Besitzt das huponexit Shell-Option wurde gesetzt mit einkaufen, bash sendet a SEUFZEND zu allen Jobs
wenn eine interaktive Login-Shell beendet wird.

If bash wartet auf die Ausführung eines Befehls und empfängt ein Signal, für das eine Falle
gesetzt wurde, wird der Trap nicht ausgeführt, bis der Befehl abgeschlossen ist. Wann bash wartet
für einen asynchronen Befehl über den warten eingebaut, der Empfang eines Signals, für das a
Falle gestellt wurde, wird die warten eingebaut, um sofort mit einem Exit-Status zurückzukehren
größer als 128, unmittelbar danach wird der Trap ausgeführt.

JOB STEUERN


Job Smartgeräte App bezieht sich auf die Fähigkeit, selektiv zu stoppen (aussetzen) die Ausführung von Prozessen
und fortsetzen (fortsetzen) deren Ausführung zu einem späteren Zeitpunkt. Ein Benutzer verwendet dies normalerweise
über eine interaktive Schnittstelle, die gemeinsam von den Betriebssystemkernen bereitgestellt wird
Terminaltreiber und bash.

Die Shell assoziiert a Job mit jeder Pipeline. Es führt eine Tabelle der derzeit ausgeführten
Jobs, die mit dem aufgelistet werden können Jobs & Karriere Befehl. Wann bash startet einen Job asynchron
(in dem Hintergrund), druckt es eine Zeile, die wie folgt aussieht:

[1] 25647

zeigt an, dass dieser Job Jobnummer 1 ist und dass die Prozess-ID des letzten Prozesses in
die diesem Job zugeordnete Pipeline ist 25647. Alle Prozesse in einer einzigen Pipeline
sind Mitglieder des gleichen Berufes. Bash verwendet das Job Abstraktion als Grundlage für die Auftragssteuerung.

Um die Implementierung der Benutzeroberfläche zur Auftragssteuerung zu erleichtern, ist die Bedien
System behält den Begriff von a . bei Strom Terminal Prozessdefinierung Gruppe ID. Mitglieder dieser
Prozessgruppe (Prozesse, deren Prozessgruppen-ID gleich dem aktuellen Terminalprozess ist
Gruppen-ID) empfangen tastaturgenerierte Signale wie SIGINT. Diese Prozesse sollen
in der sein Vordergrund. Hintergrund Prozesse sind solche, deren Prozessgruppen-ID sich von . unterscheidet
die Terminals; solche Prozesse sind immun gegen tastaturerzeugte Signale. Nur Vordergrund
Prozesse dürfen lesen oder schreiben, wenn der Benutzer dies mit stty tostop angibt
Das Terminal. Hintergrundprozesse, die versuchen, von zu lesen (schreiben, wenn stty tostop
ist in Kraft) das Terminal wird gesendet a SIGTIN (SIGTTOU) Signal vom Terminal des Kernels
Treiber, der, wenn er nicht erwischt wird, den Prozess unterbricht.

Wenn das Betriebssystem, auf dem bash läuft unterstützt die Jobkontrolle, bash enthält
Einrichtungen, es zu nutzen. Eingabe der aussetzen Charakter (normalerweise ^Z, Strg-Z) während a
Prozess läuft bewirkt, dass dieser Prozess angehalten wird und die Kontrolle an . zurückgibt bash. Tippen
verzögert aussetzen Charakter (normalerweise ^Y, Control-Y) bewirkt, dass der Prozess gestoppt wird
wenn es versucht, Eingaben vom Terminal zu lesen, und die Kontrolle soll zurückgegeben werden bashdem „Vermischten Geschmack“. Seine
Der Benutzer kann dann den Status dieses Jobs manipulieren, indem er die bg Befehl, es im fortzusetzen
Hintergrund, der fg Befehl, um es im Vordergrund fortzusetzen, oder die töten Befehl zu töten
es. EIN ^Z tritt sofort in Kraft und hat den zusätzlichen Nebeneffekt, dass schwebende
Ausgabe und Typeahead werden verworfen.

Es gibt verschiedene Möglichkeiten, auf einen Job in der Shell zu verweisen. Der Charakter % stellt vor a
Stellenbeschreibung (Stellenbeschreibung). Auftragsnummer n kann als bezeichnet werden %n. Ein Job kann auch sein
bezieht sich auf die Verwendung eines Präfixes des Namens, mit dem es gestartet wurde, oder auf die Verwendung einer Teilzeichenfolge, die angezeigt wird
in seiner Befehlszeile. Beispielsweise, %ce bezieht sich auf eine gestoppte ce Arbeit. Wenn ein Präfix übereinstimmt
mehr als eine Arbeit, bash meldet einen Fehler. Verwenden von %?ce, andererseits bezieht sich auf alle
Job mit der Zeichenfolge ce in seiner Befehlszeile. Wenn die Teilzeichenfolge mit mehr als einer übereinstimmt
Job, bash meldet einen Fehler. Die Symbole %% und %+ Beziehen Sie sich auf die Shell-Begriffe der
Strom Job, das ist der letzte Job, der gestoppt wurde, während er im Vordergrund war oder in dem er gestartet wurde
der Hintergrund. Der früher Job kann referenziert werden mit %-. Wenn es nur einen gibt
Job, %+ und %- können beide verwendet werden, um auf diesen Job zu verweisen. Bei der Ausgabe in Bezug auf Jobs (z. B.
die Ausgabe der Jobs & Karriere Befehl) wird der aktuelle Job immer mit a . gekennzeichnet +und der
vorheriger Job bei a -. Ein einzelnes % (ohne begleitende Stellenbeschreibung) bezieht sich auch auf
die aktuelle Stelle.

Durch einfaches Benennen eines Jobs kann dieser in den Vordergrund gerückt werden: %1 ist ein Synonym für „fg
%1'', wodurch Job 1 aus dem Hintergrund in den Vordergrund geholt wird. Ähnlich, „%1 &'' Bewerbungen
Job 1 im Hintergrund, entspricht „bg %1''.

Die Shell lernt sofort, wenn ein Job seinen Status ändert. Normalerweise, bash wartet bis es
ist im Begriff, eine Eingabeaufforderung zu drucken, bevor Änderungen des Auftragsstatus gemeldet werden, um nicht
jede andere Ausgabe unterbrechen. Wenn die -b Option zum kompensieren eingebauter Befehl ist aktiviert, bash
meldet solche Änderungen unverzüglich. Irgendeine Falle an SIGCHLD wird für jedes Kind ausgeführt, das
Ausgänge.

Wenn ein Versuch zu beenden bash wird ausgeführt, während Jobs angehalten werden (oder, wenn die Checkjobs Schale
Option wurde aktiviert mit der einkaufen eingebaut, läuft), die Shell gibt eine Warnung aus
Nachricht, und wenn die Checkjobs aktiviert ist, listet die Jobs und deren Status auf. Der
Jobs & Karriere Der Befehl kann dann verwendet werden, um ihren Status zu überprüfen. Wenn ein zweiter Ausstiegsversuch
ohne einen dazwischen liegenden Befehl erstellt wurde, gibt die Shell keine weitere Warnung aus, und alle
angehaltene Jobs werden beendet.

AUFFORDERUNG


Bei der interaktiven Ausführung bash zeigt die primäre Eingabeaufforderung an PS1 wenn es fertig ist
einen Befehl lesen und die sekundäre Eingabeaufforderung PS2 wenn es mehr Eingaben benötigt, um a . zu vervollständigen
Befehl. Bash ermöglicht die Anpassung dieser Eingabeaufforderungszeichenfolgen durch Einfügen einer Reihe von
Backslash-escaped Sonderzeichen, die wie folgt dekodiert werden:
\a ein ASCII-Glockenzeichen (07)
\d das Datum im Format "Wochentag Monat Datum" (z. B. "Di 26. Mai")
\D{Format}
Format wird an übergeben strftime(3) und das Ergebnis wird in die
Aufforderungszeichenfolge; ein leeres Format ergibt eine länderspezifische Zeit
Darstellung. Die Klammern werden benötigt
\e ein ASCII-Escape-Zeichen (033)
\h der Hostname bis zum ersten `.'
\H der Hostname
\j die Anzahl der Jobs, die derzeit von der Shell verwaltet werden
\l der Basisname des Endgerätenamens der Shell
\n Neue Zeile
\r Wagenrücklauf
\s der Name der Shell, der Basisname von $0 (der Teil nach dem Finale
Schrägstrich)
\t die aktuelle Uhrzeit im 24-Stunden-Format HH:MM:SS
\T die aktuelle Uhrzeit im 12-Stunden-Format HH:MM:SS
\@ die aktuelle Uhrzeit im 12-Stunden-Format am/pm
\A die aktuelle Uhrzeit im 24-Stunden-Format HH:MM
\u der Benutzername des aktuellen Benutzers
\v die Version von bash (z. B. 2.00)
\V die Freisetzung von bash, Version + Patch-Level (zB 2.00.0)
\w das aktuelle Arbeitsverzeichnis, mit $ HOME abgekürzt mit einer Tilde (verwendet die
Wert der PROMPT_DIRTRIM Variable)
\W der Basisname des aktuellen Arbeitsverzeichnisses, mit $ HOME abgekürzt mit a
Tilde
\! die Verlaufsnummer dieses Befehls
\# die Befehlsnummer dieses Befehls
\$ wenn die effektive UID 0 ist, a #, sonst a $
\nnn das Zeichen, das der Oktalzahl entspricht nnn
\\ ein umgekehrter Schrägstrich
\[ Beginnen Sie eine Folge von nicht druckbaren Zeichen, die zum Einbetten eines Zeichens verwendet werden können
Terminal-Steuerungssequenz in die Eingabeaufforderung
\] eine Folge von nicht druckbaren Zeichen beenden

Die Befehlsnummer und die History-Nummer sind normalerweise unterschiedlich: die History-Nummer von a
Befehl ist seine Position in der Verlaufsliste, die Befehle enthalten kann, die aus dem
Verlaufsdatei (siehe GESCHICHTE unten), während die Befehlsnummer die Position in der Sequenz ist
der während der aktuellen Shell-Sitzung ausgeführten Befehle. Nachdem die Zeichenfolge dekodiert wurde, ist es
erweitert über Parametererweiterung, Befehlsersetzung, arithmetische Erweiterung und Anführungszeichen
Entfernung, vorbehaltlich des Wertes der promptvars Shell-Option (siehe Beschreibung der
einkaufen Befehl unter SHELL GEBAUT BEFEHLE unten).

ZEILE LESEN


Dies ist die Bibliothek, die Leseeingaben verarbeitet, wenn eine interaktive Shell verwendet wird, es sei denn, die
--keine Bearbeitung Option wird beim Shell-Aufruf angegeben. Die Zeilenbearbeitung wird auch verwendet, wenn die
-e Option zum lesen eingebaut. Standardmäßig ähneln die Befehle zur Zeilenbearbeitung denen
von Emacs. Eine Schnittstelle zum Bearbeiten von Linien im Vi-Stil ist ebenfalls verfügbar. Zeilenbearbeitung kann sein
jederzeit über die -o Emacs or -o vi Optionen zum kompensieren eingebaut (siehe SHELL
GEBAUT BEFEHLE unter). Um die Zeilenbearbeitung zu deaktivieren, nachdem die Shell ausgeführt wurde, verwenden Sie die +o
Emacs or +o vi Optionen zum kompensieren eingebaut.

Readline Bewertung
In diesem Abschnitt wird die Notation im Emacs-Stil verwendet, um Tastenanschläge zu kennzeichnen. Steuertasten sind
bezeichnet mit C-Schlüssel, zB bedeutet Cn Control-N. Ähnlich, Ziel Schlüssel werden mit M- bezeichnetSchlüssel,
Mx bedeutet also Meta-X. (Auf Tastaturen ohne a Ziel Schlüssel, M-x bedeutet ESC x, dh drücken Sie die
Escape-Taste, dann die x Schlüssel. Das macht ESC zum Ziel Präfix. Die Kombination MC-x Mittel
ESC-Steuerung-x, oder drücken Sie die Escape-Taste und halten Sie dann die Strg-Taste gedrückt, während Sie die x
Schlüssel.)

Readline-Befehle können numerisch sein Argumente, die normalerweise als Wiederholungszähler fungieren.
Manchmal ist es jedoch das Zeichen des Arguments, das von Bedeutung ist. Vorbei an
negatives Argument für einen Befehl, der in Vorwärtsrichtung wirkt (z. Kill-Line) Ursachen
diesen Befehl, in eine Rückwärtsrichtung zu agieren. Befehle, deren Verhalten mit Argumenten
Abweichungen hiervon werden weiter unten vermerkt.

Wenn ein Befehl beschrieben wird als Töten Text, der gelöschte Text wird für eine mögliche Zukunft gespeichert
Abruf (ruckeln). Der gelöschte Text wird in a . gespeichert töten Ring. Aufeinanderfolgende Tötungen verursachen
den Text zu einer Einheit zusammenzufassen, die auf einmal gezogen werden kann. Befehle, die
Text nicht töten Trennen Sie die Textblöcke im Kill-Ring.

Readline Initialisierung
Readline wird angepasst, indem Befehle in eine Initialisierungsdatei (die Eingaberc Datei).
Der Name dieser Datei ergibt sich aus dem Wert der EINGANG Variable. Wenn diese Variable
ist nicht gesetzt, die Standardeinstellung ist ~ / .inputrc. Wenn ein Programm, das die readline-Bibliothek verwendet
startet, die Initialisierungsdatei wird gelesen und die Tastenbelegung und Variablen werden gesetzt.
In der Readline-Initialisierungsdatei sind nur wenige grundlegende Konstrukte zulässig. Leer
Zeilen werden ignoriert. Zeilen beginnend mit a # sind Kommentare. Zeilen beginnend mit a $
bedingte Konstrukte angeben. Andere Zeilen bezeichnen Tastenbelegung und variable Einstellungen.

Die Standardtastenbelegung kann mit einem geändert werden Eingaberc Datei. Andere Programme, die verwenden
diese Bibliothek kann ihre eigenen Befehle und Bindungen hinzufügen.

Zum Beispiel platzieren

M-Control-u: universelles Argument
or
C-Meta-u: universelles Argument
in die Eingaberc würde MCu dazu bringen, den readline-Befehl auszuführen Universal-Argument.

Die folgenden symbolischen Zeichennamen werden erkannt: AUSRADIEREN, DEL, ESC, LFD, NEUE ZEILE,
RET, RÜCKKEHR, SPC, SPACE und TAB.

Zusätzlich zu Befehlsnamen ermöglicht readline, dass Schlüssel an eine Zeichenfolge gebunden werden, die
eingefügt, wenn die Taste gedrückt wird (a Makro).

Readline Wesentliche Bindings
Die Syntax zum Steuern von Tastenkombinationen im Eingaberc Datei ist einfach. All das ist
erforderlich ist der Name des Befehls oder der Text eines Makros und eine Tastenfolge, zu der es
gebunden sein soll. Der Name kann auf zwei Arten angegeben werden: als symbolischer Schlüsselname,
möglicherweise mit Ziel- or Steuerung- Präfixe oder als Tastenfolge.

Bei Verwendung des Formulars Schlüsselname:Funktionsname or Makro, Schlüsselname ist der Name eines buchstabierten Schlüssels
auf Englisch aus. Beispielsweise:

Control-u: universelles Argument
Meta-Rubout: Rückwärts-Kill-Wort
Strg-O: "> Ausgabe"

Im obigen Beispiel ist Cu ist an die Funktion gebunden Universal-Argument, M-DEL ist gebunden an
die Funktion Rückwärts-Kill-Wort und Co muss das rechts dargestellte Makro ausführen
Handseite (d. h. um den Text ``> Ausgabe'' in die Zeile einzufügen).

In der zweiten Form, "keyseq":Funktionsname or Makro, Schlüsselseq unterscheidet sich von Schlüsselname oben in
dass Zeichenfolgen, die eine ganze Tastenfolge bezeichnen, durch Platzieren der Folge angegeben werden können
in doppelten Anführungszeichen. Einige Schlüssel-Escapes im GNU-Emacs-Stil können verwendet werden, wie im Folgenden beschrieben
Beispiel, aber die symbolischen Zeichennamen werden nicht erkannt.

"\Cu": universelles Argument
"\Cx\Cr": Init-Datei erneut einlesen
"\e[11~": "Funktionstaste 1"

In diesem Beispiel Cu ist wieder an die Funktion gebunden Universal-Argument. Cx Cr ist gebunden
zur Funktion Init-Datei erneut einlesen und ESC [ 1 1 ~ ist verpflichtet, den Text ``Funktion . einzufügen
Schlüssel 1''.

Der vollständige Satz von Escape-Sequenzen im GNU-Emacs-Stil ist
\C- Kontrollpräfix
\M- Meta-Präfix
\e ein Escape-Zeichen
\\ umgekehrter Schrägstrich
\" wörtlich "
\' wörtlich '

Zusätzlich zu den Escape-Sequenzen im GNU-Emacs-Stil gibt es einen zweiten Satz von Backslash-Escapes
verfügbar:
\a Alarm (Glocke)
\b Rücktaste
\d löschen
\f Formularvorschub
\n Neue Zeile
\r Wagenrücklauf
\t horizontale Registerkarte
\v vertikale Lasche
\nnn das Acht-Bit-Zeichen, dessen Wert der Oktalwert ist nnn (eins zu drei
Ziffern)
\xHH das Acht-Bit-Zeichen, dessen Wert der Hexadezimalwert ist HH (ein oder zwei
Hex-Ziffern)

Bei der Eingabe des Textes eines Makros müssen einfache oder doppelte Anführungszeichen verwendet werden, um a . anzugeben
Makrodefinition. Bei Text ohne Anführungszeichen wird davon ausgegangen, dass es sich um einen Funktionsnamen handelt. Im Makrokörper wird die
Die oben beschriebenen Backslash-Escapes werden erweitert. Backslash zitiert jedes andere Zeichen
im Makrotext, einschließlich " und '.

Bash ermöglicht das Anzeigen oder Ändern der aktuellen Readline-Tastenbelegung mit dem binden
eingebauter Befehl. Der Bearbeitungsmodus kann während der interaktiven Nutzung umgeschaltet werden, indem die -o
Option zum kompensieren eingebauter Befehl (siehe SHELL GEBAUT BEFEHLE unten).

Readline Variablen
Readline verfügt über Variablen, mit denen das Verhalten weiter angepasst werden kann. Eine Variable kann
in der eingestellt werden Eingaberc Datei mit einer Erklärung der Form

kompensieren Variablennamen Wert

Sofern nicht anders angegeben, können readline-Variablen die Werte annehmen On or Off (ohne Rücksicht auf
Fall). Unbekannte Variablennamen werden ignoriert. Wenn ein Variablenwert gelesen wird, leer oder
Nullwerte, "on" (Groß-/Kleinschreibung wird nicht beachtet) und "1" sind äquivalent zu On. Alle anderen Werte sind
entspricht Off. Die Variablen und ihre Standardwerte sind:

Glockenstil (hörbar)
Steuert, was passiert, wenn readline das Terminal läuten möchte. Wenn auf eingestellt
keine, readline klingelt nie. Wenn auf eingestellt sichtbar, readline verwendet ein sichtbares
Klingel, wenn eine verfügbar ist. Wenn auf eingestellt hörbar, readline versucht, den anzurufen
die Glocke des Terminals.
bind-tty-Sonderzeichen (Auf)
Wenn auf On, readline versucht, die von . speziell behandelten Steuerzeichen zu binden
Terminaltreiber des Kernels in ihre Readline-Äquivalente umwandeln.
Farbige-Statistiken (Aus)
Wenn auf On, readline zeigt mögliche Vervollständigungen in verschiedenen Farben an, um
geben ihren Dateityp an. Die Farbdefinitionen ergeben sich aus dem Wert der
LS_FARBEN variable Umgebung
Kommentar-Beginn (``#'')
Die Zeichenfolge, die eingefügt wird, wenn die Readline Einfügen-Kommentar Befehl ausgeführt wird.
Dieser Befehl ist gebunden an M-# im Emacs-Modus und zu # im vi-Befehlsmodus.
Vervollständigung-Ignorieren-Fall (Aus)
Wenn auf On, readline führt Dateinamenabgleich und Vervollständigung in a . durch
Groß-/Kleinschreibung beachten.
Vervollständigung-Präfix-Anzeigelänge (0)
Die Länge in Zeichen des gemeinsamen Präfixes einer Liste möglicher Vervollständigungen
die ohne Änderung angezeigt wird. Wenn ein Wert größer als Null eingestellt ist,
gemeinsame Präfixe, die länger als dieser Wert sind, werden durch Auslassungspunkte ersetzt, wenn
mögliche Fertigstellungen anzeigen.
Abschluss-Abfrage-Elemente (100)
Dies legt fest, wann der Benutzer zur Anzeige der Anzahl der möglichen . befragt wird
Vervollständigungen generiert durch die mögliche-Ergänzungen Befehl. Es kann auf jeden eingestellt werden
ganzzahliger Wert größer oder gleich null. Wenn die Anzahl der möglichen Fertigstellungen
größer oder gleich dem Wert dieser Variablen ist, wird der Benutzer gefragt, ob
oder er möchte sie nicht sehen; andernfalls werden sie einfach am Terminal aufgelistet.
konvertieren-meta (Auf)
Wenn auf On, readline konvertiert Zeichen mit dem achten Bit in ASCII
Tastenfolge durch Entfernen des achten Bits und Voranstellen eines Escape-Zeichens (in
Effekt mit Escape als Ziel Präfix).
Deaktivierungs-Abschluss (Aus)
Wenn auf On, readline verhindert die Wortvervollständigung. Abschlusszeichen werden
in die Zeile eingefügt, als ob sie zugeordnet worden wären selbst einfügen.
Bearbeitungsmodus (Emacs)
Steuert, ob readline mit einer Reihe von Tastenkombinationen ähnlich wie . beginnt Emacs or vi.
Bearbeitungsmodus kann entweder eingestellt werden Emacs or vi.
Echo-Kontroll-Zeichen (Auf)
Wenn auf eingestellt On, auf Betriebssystemen, die angeben, dass sie es unterstützen, Readline-Echos
ein Zeichen, das einem von der Tastatur erzeugten Signal entspricht.
Ziffernblock aktivieren (Aus)
Wenn auf eingestellt On, wird readline versuchen, die Anwendungstastatur zu aktivieren, wenn dies der Fall ist
namens. Einige Systeme benötigen dies, um die Pfeiltasten zu aktivieren.
Metaschlüssel aktivieren (Auf)
Wenn auf eingestellt On, readline wird versuchen, alle Meta-Modifizierertasten im Terminal zu aktivieren
behauptet zu unterstützen, wenn es aufgerufen wird. Auf vielen Terminals wird der Metaschlüssel verwendet, um
XNUMX-Bit-Zeichen senden.
Tilde erweitern (Aus)
Wenn auf On, Tilde-Erweiterung wird durchgeführt, wenn readline versucht, eine Wortvervollständigung zu machen.
Geschichte-Bewahre-Punkt (Aus)
Wenn auf On, der Verlaufscode versucht, den Punkt auf jedem an derselben Stelle zu platzieren
Verlaufszeile abgerufen mit Vorgeschichte or nächste Geschichte.
Geschichte-Größe (0)
Legen Sie die maximale Anzahl der in der Verlaufsliste gespeicherten Verlaufseinträge fest. Wenn auf eingestellt
Null, werden alle vorhandenen Historieneinträge gelöscht und keine neuen Einträge gespeichert. Wenn
auf einen Wert kleiner Null gesetzt, ist die Anzahl der Historieneinträge nicht begrenzt. Durch
Standardmäßig ist die Anzahl der Verlaufseinträge nicht begrenzt.
Horizontal-Scroll-Modus (Aus)
Wenn auf eingestellt On, lässt readline eine einzelne Zeile für die Anzeige verwenden, scrollt die Eingabe
horizontal auf einer einzelnen Bildschirmzeile, wenn diese länger als die Bildschirmbreite wird
anstatt in eine neue Zeile umzubrechen.
Eingabe-Meta (Aus)
Wenn auf On, readline aktiviert die XNUMX-Bit-Eingabe (d. h., es wird die
hohes Bit aus den gelesenen Zeichen), unabhängig davon, was das Terminal behauptet
kann unterstützen. Der Name Meta-Flagge ist ein Synonym für diese Variable.
isearch-Terminatoren (``C-[C-J'')
Die Zeichenfolge, die eine inkrementelle Suche beenden soll, ohne
anschließend das Zeichen als Befehl ausführen. Wenn diese Variable noch nicht vorhanden ist
einen Wert gegeben, die Zeichen ESC und CJ beendet eine inkrementelle Suche.
Tastenbelegung (Emacs)
Legt die aktuelle Readline-Keymap fest. Der Satz gültiger Keymap-Namen ist Emacs,
emacs-Standard, emacs-meta, emacs-ctlx, Sie, vi-Befehl und vi-einfügen. vi is
entspricht vi-Befehl; Emacs entspricht Emacs-Standard. Der Standardwert
is Emacs; der Wert von Bearbeitungsmodus wirkt sich auch auf die Standardtastenbelegung aus.
Keyseq-Timeout (500)
Gibt die Dauer an readline wartet auf ein Zeichen, wenn ein mehrdeutiges gelesen wird
Tastenfolge (eine, die eine vollständige Tastenfolge bilden kann, indem man die Eingabe liest so
weit entfernt, oder kann zusätzliche Eingaben erfordern, um eine längere Tastenfolge zu vervollständigen). Wenn keine Eingabe
innerhalb des Timeouts empfangen wird, readline wird den kürzeren, aber vollständigen Schlüssel verwenden
Reihenfolge. Der Wert wird in Millisekunden angegeben, ein Wert von 1000 bedeutet also, dass
readline wartet eine Sekunde auf weitere Eingaben. Wenn diese Variable auf a gesetzt ist
Wert kleiner oder gleich Null oder ein nicht numerischer Wert, readline Ich werde warten
bis eine andere Taste gedrückt wird, um zu entscheiden, welche Tastenfolge abgeschlossen werden soll.
mark-Verzeichnisse (Auf)
Wenn auf On, vollständiger Verzeichnisnamen wird ein Schrägstrich angehängt.
markiere-modifizierte-zeilen (Aus)
Wenn auf On, geänderte Verlaufszeilen werden mit einem vorangestellten . angezeigt
Sternchen (*).
symbolisch verknüpfte Verzeichnisse markieren (Aus)
Wenn auf On, ausgefüllte Namen, die symbolische Links zu Verzeichnissen sind, haben einen Schrägstrich
angehängt (vorbehaltlich des Wertes von mark-Verzeichnisse).
Match-versteckte-Dateien (Auf)
Diese Variable, wenn sie auf gesetzt ist On, veranlasst readline, Dateien abzugleichen, deren Namen beginnen
mit einem `.' (versteckte Dateien) beim Ausführen der Dateinamenvervollständigung. Wenn auf eingestellt Off, der
führendes `.' muss vom Benutzer im zu vervollständigenden Dateinamen angegeben werden.
Menü-vollständig-Anzeige-Präfix (Aus)
Wenn auf On, Menüvervollständigung zeigt das gemeinsame Präfix der Liste möglicher
Vervollständigungen (die leer sein können), bevor Sie durch die Liste blättern.
Ausgabe-Meta (Aus)
Wenn auf On, readline zeigt Zeichen mit dem achten Bit direkt an
und nicht als Escape-Sequenz mit Meta-Präfix.
Seitenvervollständigungen (Auf)
Wenn auf On, readline verwendet ein internes mehr-wie Pager, um einen Bildschirm voller anzuzeigen
mögliche Fertigstellungen auf einmal.
Druckfertigstellungen-horizontal (Aus)
Wenn auf On, readline zeigt Vervollständigungen mit Übereinstimmungen an, die horizontal sortiert sind in
alphabetischer Reihenfolge, anstatt auf dem Bildschirm.
Alles-bei-Neuzeile zurücksetzen (Aus)
Wenn auf On, readline macht alle Änderungen an den Verlaufszeilen rückgängig, bevor es zurückkehrt, wenn
Akzeptieren-Zeile ausgeführt wird. Standardmäßig können Verlaufszeilen geändert und beibehalten werden
individuelle Rückgängig-Listen für alle Anrufe an readline.
show-all-wenn-mehrdeutig (Aus)
Dadurch wird das Standardverhalten der Vervollständigungsfunktionen geändert. Wenn auf eingestellt On, Wörter
die mehr als eine mögliche Vervollständigung haben, führen dazu, dass die Übereinstimmungen aufgelistet werden
sofort, anstatt zu klingeln.
alles anzeigen, wenn-unmodifiziert (Aus)
Dies ändert das Standardverhalten der Vervollständigungsfunktionen auf ähnliche Weise
zu show-all-wenn-mehrdeutig. Wenn auf eingestellt On, Wörter mit mehr als einem möglich
Vervollständigung ohne mögliche Teilvervollständigung (die möglichen Vervollständigungen nicht
teilen ein gemeinsames Präfix) führen dazu, dass die Übereinstimmungen sofort aufgelistet werden, anstatt
die Glocke läuten.
Show-Mode-in-Prompt (Aus)
Wenn auf On, fügen Sie am Anfang der Eingabeaufforderung ein Zeichen hinzu, das die Bearbeitung anzeigt
Modus: emacs (@), vi-Befehl (:) oder vi-Einfügung (+).
überspringen-fertigen-Text (Aus)
Wenn auf On, ändert dies das standardmäßige Vervollständigungsverhalten beim Einfügen einer Single
in die Linie passen. Es ist nur aktiv, wenn der Abschluss mitten im durchgeführt wird
ein Wort. Wenn aktiviert, fügt readline keine Zeichen aus der Vervollständigung ein, die
Übereinstimmung mit Zeichen nach Punkt in dem Wort, das vervollständigt wird, also Teile des Wortes
nach dem Cursor werden nicht dupliziert.
Sichtbare-Statistiken (Aus)
Wenn auf On, ein Zeichen, das den Dateityp angibt, wie von . gemeldet Zustand(2) wird angehängt
an den Dateinamen, wenn mögliche Vervollständigungen aufgelistet werden.

Readline Bedingt Konstruiert
Readline implementiert eine Einrichtung ähnlich den bedingten Kompilierungsfunktionen
des C-Präprozessors, der es ermöglicht, Tastenkombinationen und variable Einstellungen wie
das Ergebnis von Tests. Es werden vier Parser-Direktiven verwendet.

$wenn Das $wenn Konstrukt ermöglicht das Erstellen von Bindungen basierend auf dem Bearbeitungsmodus, der
Terminal verwendet wird oder die Anwendung readline verwendet. Der Text des Tests
erstreckt sich bis zum Ende der Zeile; Es sind keine Zeichen erforderlich, um es zu isolieren.

Modus Das Modus= Form der $wenn Direktive wird verwendet, um zu testen, ob readline in ist
emacs- oder vi-Modus. Dies kann in Verbindung mit dem kompensieren Tastenbelegung
Befehl, um zum Beispiel Bindungen im Emacs-Standard und emacs-ctlx
keymaps nur, wenn readline im emacs-Modus startet.

Begriff Das Begriff= Formular kann verwendet werden, um terminalspezifische Tastenkombinationen einzuschließen,
vielleicht um die von den Funktionstasten des Terminals ausgegebenen Tastenfolgen zu binden.
Das Wort auf der rechten Seite des = wird gegen den vollständigen Namen von . getestet
das Terminal und der Teil des Terminalnamens vor dem ersten -. Dies
erlaubt Sonne zu beiden passen Sonne und Sonne-cmdZum Beispiel.

Anwendung
Das Anwendung Konstrukt wird verwendet, um anwendungsspezifische Einstellungen einzuschließen.
Jedes Programm, das die readline-Bibliothek verwendet, setzt die Anwendung NameUnd ein
Initialisierungsdatei kann auf einen bestimmten Wert getestet werden. Dies könnte verwendet werden, um
Binden Sie Tastenfolgen an Funktionen, die für ein bestimmtes Programm nützlich sind. Für
Instanz fügt der folgende Befehl eine Tastenfolge hinzu, die das aktuelle . in Anführungszeichen setzt
oder vorheriges Wort in bash:

$wenn Bash
# Zitiere das aktuelle oder vorherige Wort
"\C-xq": "\eb\"\ef\""
$endif

$endif Dieser Befehl beendet, wie im vorherigen Beispiel zu sehen, an $wenn Befehl.

$sonst Befehle in diesem Zweig der $wenn Direktive werden ausgeführt, wenn der Test fehlschlägt.

$einschließen
Diese Direktive verwendet einen einzelnen Dateinamen als Argument und liest Befehle und
Bindungen aus dieser Datei. Die folgende Direktive würde beispielsweise lauten
/etc/inputrc:

$einschließen /etc/inputrc

Suchen
Readline bietet Befehle zum Durchsuchen des Befehlsverlaufs (siehe GESCHICHTE unten)
für Zeilen, die eine angegebene Zeichenfolge enthalten. Es gibt zwei Suchmodi: inkremental und Nicht-
inkremental.

Inkrementelle Suchen beginnen, bevor der Benutzer mit der Eingabe der Suchzeichenfolge fertig ist. Wie jeder
Zeichen des Suchstrings wird eingegeben, readline zeigt den nächsten Eintrag aus der Historie an
entspricht der bisher eingegebenen Zeichenfolge. Eine inkrementelle Suche erfordert nur so viele Zeichen
nach Bedarf, um den gewünschten Verlaufseintrag zu finden. Die im Wert der vorhandenen Zeichen
isearch-Terminatoren Variable werden verwendet, um eine inkrementelle Suche zu beenden. Wenn das
Variablen wurde kein Wert zugewiesen, die Escape- und Control-J-Zeichen werden beendet
eine inkrementelle Suche. Control-G bricht eine inkrementelle Suche ab und stellt die
ursprüngliche Zeile. Wenn die Suche beendet ist, wird der Verlaufseintrag mit der Suche
string wird zur aktuellen Zeile.

Um andere passende Einträge in der Verlaufsliste zu finden, geben Sie Control-S oder Control-R als . ein
angemessen. Dadurch wird im Verlauf nach dem nächsten Eintrag rückwärts oder vorwärts gesucht
Übereinstimmung mit der bisher eingegebenen Suchzeichenfolge. Jede andere Tastenfolge, die an eine Readline gebunden ist
Befehl beendet die Suche und führt diesen Befehl aus. Zum Beispiel a Neue Zeile werden wir
Beenden Sie die Suche und akzeptieren Sie die Zeile, wodurch der Befehl aus der Historie ausgeführt wird
Liste.

Readline merkt sich die letzte inkrementelle Suchzeichenfolge. Wenn zwei Control-Rs eingegeben werden
ohne dazwischenliegende Zeichen, die eine neue Suchzeichenfolge definieren, jede gespeicherte Suche
Schnur verwendet wird.

Bei nicht inkrementellen Suchen wird die gesamte Suchzeichenfolge gelesen, bevor mit der Suche begonnen wird
passenden Geschichtszeilen. Die Suchzeichenfolge kann vom Benutzer eingegeben werden oder Teil der
Inhalt der aktuellen Zeile.

Readline Befehl Namen
Im Folgenden finden Sie eine Liste der Namen der Befehle und der Standardtastenfolgen für
an die sie gebunden sind. Befehlsnamen ohne begleitende Tastenfolge sind ungebunden durch
Ursprünglich. In den folgenden Beschreibungen, Punkt bezieht sich auf die aktuelle Cursorposition und
Kennzeichen bezieht sich auf eine Cursorposition, die vom Set-Marke Befehl. Der Text zwischen den
Punkt und Markierung wird als der . bezeichnet Region.

Befehle für Ziehen um
Zeilenanfang (Ca)
Zum Anfang der aktuellen Zeile springen.
Ende der Linie (ce)
Gehen Sie zum Ende der Zeile.
vorwärts-char (Vgl.)
Einen Charakter vorwärts bewegen.
Rückwärts-Zeichen (Cb)
Bewege einen Charakter zurück.
Vorwärtswort (Mf)
Gehe vorwärts zum Ende des nächsten Wortes. Wörter bestehen aus alphanumerischen
Zeichen (Buchstaben und Ziffern).
Rückwärts-Wort (Mb)
Zurück zum Anfang des aktuellen oder vorherigen Wortes. Wörter bestehen aus
alphanumerische Zeichen (Buchstaben und Ziffern).
Shell-Forward-Wort
Gehe vorwärts zum Ende des nächsten Wortes. Wörter werden durch nicht in Anführungszeichen gesetzte Shell abgegrenzt
Metazeichen.
Shell-Rückwärts-Wort
Zurück zum Anfang des aktuellen oder vorherigen Wortes. Wörter werden durch getrennt
nicht in Anführungszeichen gesetzte Shell-Metazeichen.
klarer Bildschirm (Kl)
Löschen Sie den Bildschirm und lassen Sie die aktuelle Zeile oben auf dem Bildschirm. Mit einem
-Argument die aktuelle Zeile aktualisieren, ohne den Bildschirm zu löschen.
neu zeichnen-aktuelle-leitung
Aktualisieren Sie die aktuelle Zeile.

Befehle für Manipulieren Geschichte
Akzeptieren-Zeile (Neue Zeile, Zurückkehren)
Akzeptieren Sie die Zeile, unabhängig davon, wo sich der Cursor befindet. Wenn diese Zeile nicht leer ist, fügen Sie hinzu
es in die Verlaufsliste nach dem Stand der HISTKONTROLLE Variable. Wenn die
Zeile eine modifizierte Verlaufszeile ist, dann stellen Sie die Verlaufszeile auf ihren ursprünglichen Wert zurück
Zustand.
Vorgeschichte (Cp)
Rufen Sie den vorherigen Befehl aus der Verlaufsliste ab und bewegen Sie sich in der Liste zurück.
nächste Geschichte (Kn)
Rufen Sie den nächsten Befehl aus der Verlaufsliste ab und bewegen Sie sich in der Liste vorwärts.
Anfang der Geschichte (M-<)
Wechseln Sie in die erste Zeile im Verlauf.
Ende der Geschichte (M->)
Zum Ende der Eingabehistorie, dh der Zeile, die gerade eingegeben wird, gehen.
Rückwärtssuche-Verlauf (Kr)
Suchen Sie rückwärts, beginnend mit der aktuellen Zeile und bewegen Sie sich `nach oben' durch den Verlauf als
notwendig. Dies ist eine inkrementelle Suche.
Vorwärts-Suchverlauf (Cs)
Suchen Sie vorwärts, beginnend mit der aktuellen Zeile und bewegen Sie sich nach unten durch den Verlauf
wie nötig. Dies ist eine inkrementelle Suche.
nicht-inkrementeller-umgekehrter-Suchverlauf (Mp)
Durchsuchen Sie den Verlauf ab der aktuellen Zeile rückwärts mit einem Nicht-
inkrementelle Suche nach einer vom Benutzer bereitgestellten Zeichenfolge.
nicht-inkrementeller-vorwärts-Suchverlauf (Mn)
Durchsuchen Sie den Verlauf vorwärts mit einer nicht inkrementellen Suche nach einer Zeichenfolge
vom Benutzer bereitgestellt.
Geschichte-Suche-vorwärts
Durchsuchen Sie den Verlauf vorwärts nach der Zeichenfolge zwischen dem Anfang
der aktuellen Linie und des Punktes. Dies ist eine nicht inkrementelle Suche.
Geschichte-Suche-zurück
Durchsuchen Sie den Verlauf rückwärts nach der Zeichenfolge zwischen dem Anfang
der aktuellen Linie und des Punktes. Dies ist eine nicht inkrementelle Suche.
ruck-nth-arg (MCy)
Fügen Sie das erste Argument in den vorherigen Befehl ein (normalerweise das zweite Wort auf der
vorherige Zeile) am Punkt. Mit einem Argument n, fügen Sie die nWort vom Vorherigen
Befehl (die Wörter im vorherigen Befehl beginnen mit Wort 0). Ein negatives Argument
fügt die ein nWort vom Ende des vorherigen Befehls. Einmal das Argument n is
berechnet, wird das Argument extrahiert, als ob das "!n"Geschichtserweiterung war gewesen
spezifiziert.
reiß-letzte-arg (M-., M-_)
Fügen Sie das letzte Argument in den vorherigen Befehl ein (das letzte Wort des vorherigen
Historieneintrag). Verhalten Sie sich bei einem numerischen Argument genauso wie ruck-nth-arg.
Aufeinanderfolgende Anrufe an reiß-letzte-arg blättern Sie zurück durch die Verlaufsliste und fügen Sie die
letztes Wort (oder das durch das Argument des ersten Aufrufs angegebene Wort) jeder Zeile in
Dreh dich. Jedes numerische Argument, das an diese aufeinanderfolgenden Aufrufe geliefert wird, bestimmt die
Richtung, um sich durch die Geschichte zu bewegen. Ein negatives Argument ändert die Richtung
durch die Historie (zurück oder vor). Die historischen Erweiterungseinrichtungen werden genutzt
um das letzte Wort zu extrahieren, als ob die Verlaufserweiterung "!$" angegeben worden wäre.
Shell-Expand-Line (MCe)
Erweitern Sie die Zeile wie die Shell. Dies führt die Alias- und Verlaufserweiterung als
sowie alle Shell-Wort-Erweiterungen. Sehen GESCHICHTE ERWEITERUNG unten für a
Beschreibung der Geschichtsexpansion.
Geschichte-Erweitern-Linie (M-^)
Führen Sie die Verlaufserweiterung in der aktuellen Zeile durch. Sehen GESCHICHTE ERWEITERUNG unten für a
Beschreibung der Geschichtsexpansion.
Zauberraum
Führen Sie die Verlaufserweiterung in der aktuellen Zeile aus und fügen Sie ein Leerzeichen ein. Sehen GESCHICHTE
ERWEITERUNG Unten finden Sie eine Beschreibung der Verlaufserweiterung.
Alias-Expand-Zeile
Führen Sie die Aliaserweiterung in der aktuellen Zeile durch. Sehen ALIAS oben für eine Beschreibung
der Alias-Erweiterung.
Geschichte-und-Alias-Expand-Zeile
Führen Sie die Verlaufs- und Aliaserweiterung in der aktuellen Zeile durch.
Einfügen-letztes-Argument (M-., M-_)
Ein Synonym für reiß-letzte-arg.
operieren-und-als nächstes holen (Ko)
Akzeptieren Sie die aktuelle Zeile zur Ausführung und holen Sie die nächste Zeile relativ zu der
aktuelle Zeile aus der Historie zur Bearbeitung. Jedes Argument wird ignoriert.
Bearbeiten-und-Ausführen-Befehl (C-xC-e)
Rufen Sie einen Editor in der aktuellen Befehlszeile auf und führen Sie das Ergebnis als Shell aus
Befehle. Bash versucht zu beschwören $SICHTBAR, $ EDITOR und Emacs als Herausgeber, in
diese Bestellung.

Befehle für Gedanken Text
Ende der Datei (In der Regel CD)
Das Zeichen, das das Dateiende angibt, wird beispielsweise durch ``stty'' gesetzt. Wenn das
Zeichen wird gelesen, wenn sich keine Zeichen auf der Linie befinden und der Punkt auf der
Anfang der Zeile interpretiert Readline es als Ende der Eingabe und gibt zurück EOF.
Löschzeichen (CD)
Löschen Sie das Zeichen an dieser Stelle. Wenn diese Funktion an das gleiche Zeichen gebunden ist wie
der tty EOF Charakter, wie CD häufig ist, siehe oben für die Auswirkungen.
rückwärts-löschen-zeichen (Ausradieren)
Löschen Sie das Zeichen hinter dem Cursor. Wenn Sie ein numerisches Argument erhalten, speichern Sie die
gelöschter Text auf dem Kill-Ring.
vorwärts-rückwärts-löschen-char
Löschen Sie das Zeichen unter dem Cursor, es sei denn, der Cursor befindet sich am Ende der Zeile,
in diesem Fall wird das Zeichen hinter dem Cursor gelöscht.
Zitat-Einfügung (Cq, Lebenslauf)
Fügen Sie das nächste eingegebene Zeichen wörtlich in die Zeile ein. So fügen Sie ein
Zeichen wie Cq, beispielsweise.
Tab-Einfügen (Lebenslauf TAB)
Fügen Sie ein Tabulatorzeichen ein.
selbst einfügen (ein, b, A, 1, !, ...)
Geben Sie das eingegebene Zeichen ein.
Transponieren-Zeichen (Kt)
Ziehen Sie das Zeichen vor dem Punkt nach vorne über das Zeichen am Punkt, verschieben Sie den Punkt
auch vorwärts. Befindet sich Punkt am Ende der Linie, dann werden die beiden
Zeichen vor Punkt. Negative Argumente haben keine Wirkung.
Transponieren-Wörter (MT)
Ziehen Sie das Wort vor dem Punkt über das Wort nach dem Punkt hinaus und bewegen Sie den Punkt über dieses Wort
sowie. Befindet sich Punkt am Ende der Zeile, werden die letzten beiden Wörter auf transponiert
die Linie.
Großbuchstaben-Wort (Mu)
Das aktuelle (oder folgende) Wort in Großbuchstaben schreiben. Bei einem negativen Argument Großbuchstaben the
vorheriges Wort, aber Punkt nicht verschieben.
Kleinbuchstaben-Wort (ml)
Das aktuelle (oder folgende) Wort in Kleinbuchstaben schreiben. Bei einem negativen Argument schreibe das in Kleinbuchstaben
vorheriges Wort, aber Punkt nicht verschieben.
Großbuchstaben-Wort (Mc)
Schreiben Sie das aktuelle (oder folgende) Wort groß. Bei einem negativen Argument groß schreiben
das vorherige Wort, aber verschieben Sie den Punkt nicht.
Überschreibmodus
Überschreibmodus umschalten. Wechselt bei einem expliziten positiven numerischen Argument zu
Überschreibmodus. Wechselt bei einem expliziten nicht positiven numerischen Argument zum Einfügen
Modus. Dieser Befehl betrifft nur Emacs Modus; vi Modus überschreibt anders.
Jeder Anruf an Zeile lesen() startet im Einfügemodus. Im Überschreibmodus sind Zeichen gebunden
zu selbst einfügen Ersetzen Sie den Text an einer Stelle, anstatt den Text nach rechts zu verschieben.
Charaktere gebunden an rückwärts-löschen-zeichen Ersetze das Zeichen vor dem Punkt durch a
Platz. Dieser Befehl ist standardmäßig ungebunden.

Töten und Ruckeln
Kill-Line (ck)
Töte den Text vom Punkt bis zum Ende der Zeile.
Rückwärts-Kill-Linie (Cx Ausradieren)
Töte rückwärts bis zum Anfang der Zeile.
Unix-Zeilenverwerfen (Ku)
Töte rückwärts vom Punkt zum Anfang der Zeile. Der gelöschte Text wird gespeichert am
der Kill-Ring.
ganze Linie töten
Töte alle Charaktere in der aktuellen Zeile, egal wo der Punkt ist.
Tötungswort (Md)
Töte vom Punkt bis zum Ende des aktuellen Wortes, oder wenn zwischen Wörtern, bis zum Ende von
das nächste Wort. Wortgrenzen sind die gleichen wie die von Vorwärtswort.
Rückwärts-Kill-Wort (M-Rub)
Töte das Wort hinter Punkt. Wortgrenzen sind die gleichen wie die von
Rückwärts-Wort.
Shell-Kill-Wort (Md)
Töte vom Punkt bis zum Ende des aktuellen Wortes, oder wenn zwischen Wörtern, bis zum Ende von
das nächste Wort. Wortgrenzen sind die gleichen wie die von Shell-Forward-Wort.
Shell-Rückwärts-Kill-Wort (M-Rub)
Töte das Wort hinter Punkt. Wortgrenzen sind die gleichen wie die von
Shell-Rückwärts-Wort.
Unix-Wort-Rubout (Cw)
Töte das Wort hinter dem Punkt, indem du Leerzeichen als Wortgrenze verwendest. Der getötete Text
wird auf dem Kill-Ring gespeichert.
Unix-Dateiname-Rubout
Töte das Wort hinter dem Punkt, indem du Leerzeichen und den Schrägstrich als Wort verwendest
Grenzen. Der getötete Text wird im Kill-Ring gespeichert.
Löschen-horizontales-Leerzeichen (M-\)
Löschen Sie alle Leerzeichen und Tabulatoren um den Punkt.
Kill-Region
Töte den Text in der aktuellen Region.
Kopieren-Region-als-Kill
Kopieren Sie den Text in der Region in den Kill-Puffer.
kopie-rückwärts-Wort
Kopieren Sie das Wort vor dem Punkt in den Kill-Puffer. Die Wortgrenzen sind die gleichen wie
Rückwärts-Wort.
kopieren-vorwärts-Wort
Kopieren Sie das Wort nach dem Punkt in den Kill-Puffer. Die Wortgrenzen sind die gleichen
as Vorwärtswort.
Ruck (Cy)
Reißen Sie die Spitze des Killrings an dieser Stelle in den Puffer.
reißer (Mein)
Drehen Sie den Killring und ziehen Sie das neue Oberteil. Funktioniert nur nach Ruck or reißer.

Numerisch Argumente
Ziffernargument (M-0, M-1, ... M--)
Fügen Sie diese Ziffer dem bereits anfallenden Argument hinzu oder beginnen Sie ein neues Argument. M--
beginnt ein negatives Argument.
Universal-Argument
Dies ist eine weitere Möglichkeit, ein Argument anzugeben. Wenn diesem Befehl ein oder folgt
mehr Ziffern, optional mit führendem Minuszeichen, diese Ziffern definieren die
Streit. Wenn dem Befehl Ziffern folgen, wird ausgeführt Universal-Argument aufs Neue
beendet das numerische Argument, wird aber ansonsten ignoriert. Als Sonderfall, wenn dies
Auf den Befehl folgt unmittelbar ein Zeichen, das weder eine Ziffer noch ein Minus ist
sign wird die Argumentanzahl für den nächsten Befehl mit vier multipliziert. Das Argument
count ist anfangs eins, also macht die Ausführung dieser Funktion beim ersten Mal den
Argument zählt vier, ein zweites Mal zählt das Argument sechzehn und so weiter.

Abschluss
abschließen (TAB)
Versuchen Sie, den Text vor dem Punkt zu vervollständigen. Bash Versuche Abschluss
den Text als Variable behandeln (wenn der Text mit beginnt $), Benutzername (wenn der Text
beginnt mit ~), Hostname (wenn der Text mit beginnt @) oder Befehl (einschließlich Aliasnamen)
und Funktionen) der Reihe nach. Wenn keine dieser Angaben zu einer Übereinstimmung führt, ist die Vervollständigung des Dateinamens
versucht.
mögliche-Ergänzungen (M-?)
Listen Sie die möglichen Vervollständigungen des Textes vor dem Punkt auf.
Einfügen-Vervollständigungen (M-*)
Fügen Sie alle Vervollständigungen des Textes vor dem Punkt ein, die durch . erzeugt worden wären
mögliche-Ergänzungen.
Menü-komplett
Ähnlich abschließen, ersetzt aber das zu ergänzende Wort durch eine einzelne Übereinstimmung von
die Liste der möglichen Vervollständigungen. Wiederholte Ausführung von Menü-komplett Schritte
durch die Liste der möglichen Vervollständigungen, wobei jede Übereinstimmung der Reihe nach eingefügt wird. Am Ende
der Fertigstellungsliste ertönt die Glocke (je nach Einstellung von Glockenstil)
und der ursprüngliche Text wird wiederhergestellt. Ein Argument von n bewegt sich n Positionen vorwärts in
die Liste der Übereinstimmungen; ein negatives Argument kann verwendet werden, um rückwärts durch die zu gehen
aufführen. Dieser Befehl soll an gebunden werden TAB, ist aber standardmäßig ungebunden.
Menü-komplett-zurück
Identisch mit Menü-komplett, bewegt sich aber rückwärts durch die Liste der möglichen
Vervollständigungen, als ob Menü-komplett wurde ein negatives Argument vorgebracht. Dieser Befehl
ist standardmäßig ungebunden.
Zeichen-oder-Liste löschen
Löscht das Zeichen unter dem Cursor, wenn es nicht am Anfang oder Ende der Zeile steht
(mögen Löschzeichen). Wenn am Ende der Zeile, verhält sich identisch zu
mögliche-Ergänzungen. Dieser Befehl ist standardmäßig ungebunden.
vollständiger-Dateiname (M-/)
Versuchen Sie, den Dateinamen für den Text vor dem Punkt zu vervollständigen.
mögliche-Dateinamen-Vervollständigungen (Cx /)
Listen Sie die möglichen Vervollständigungen des Textes vor dem Punkt auf und behandeln Sie ihn wie einen Dateinamen.
vollständiger Benutzername (M-~)
Versuchen Sie, den Text vor dem Punkt zu vervollständigen, und behandeln Sie ihn als Benutzername.
mögliche-Benutzernamen-Vervollständigungen (Cx ~)
Listen Sie die möglichen Vervollständigungen des Textes vor dem Punkt auf und behandeln Sie ihn wie einen Benutzernamen.
komplett-variabel (M-$)
Versuchen Sie, den Text vor dem Punkt zu vervollständigen, und behandeln Sie ihn als Shell-Variable.
mögliche-variable-Vervollständigungen (Cx $)
Listen Sie die möglichen Vervollständigungen des Textes vor dem Punkt auf und behandeln Sie ihn wie eine Shell
variabel.
vollständiger-Hostname (M-@)
Versuchen Sie, den Text vor dem Punkt zu vervollständigen, und behandeln Sie ihn als Hostname.
mögliche-Hostnamen-Vervollständigungen (Cx @)
Listen Sie die möglichen Vervollständigungen des Textes vor dem Punkt auf und behandeln Sie ihn wie einen Hostnamen.
Komplett-Befehl (M-!)
Versuchen Sie, den Text vor dem Punkt zu vervollständigen, und behandeln Sie ihn als Befehlsnamen.
Die Befehlsvervollständigung versucht, den Text mit Aliasnamen, reservierten Wörtern,
Shell-Funktionen, Shell-Buildins und schließlich ausführbare Dateinamen in dieser Reihenfolge.
mögliche-Befehlsvervollständigungen (Cx !)
Listen Sie die möglichen Vervollständigungen des Textes vor dem Punkt auf und behandeln Sie ihn als Befehl
Namen.
dynamisch-komplette-Geschichte (M-TAB)
Vervollständigen Sie den Text vor dem Punkt und vergleichen Sie den Text mit den Zeilen aus
die Verlaufsliste für mögliche Abschlussübereinstimmungen.
dabbrev-erweitern
Versuchen Sie, das Menü mit dem Text vor dem Punkt zu vervollständigen, und vergleichen Sie den Text mit den Zeilen
aus der Verlaufsliste für mögliche Abschlussübereinstimmungen.
komplett in geschweifte Klammern (M-{)
Führen Sie die Dateinamenvervollständigung durch und fügen Sie die beigefügte Liste der möglichen Vervollständigungen ein
in geschweiften Klammern, damit die Liste für die Shell verfügbar ist (siehe Klammer Erweiterung über).

Tastatur Makros
start-kbd-makro (Cx ()
Beginnen Sie mit dem Speichern der in das aktuelle Tastaturmakro eingegebenen Zeichen.
end-kbd-makro (Cx ))
Beenden Sie das Speichern der in das aktuelle Tastaturmakro eingegebenen Zeichen und speichern Sie die
Definition.
Aufruf-letztes-kbd-makro (Cx e)
Führen Sie das zuletzt definierte Tastaturmakro erneut aus, indem Sie die Zeichen im Makro
erscheinen als ob auf der Tastatur getippt.
Drucken-letztes-kbd-makro ()
Drucken Sie das letzte definierte Tastaturmakro in einem für die Eingaberc Datei.

Weitere Anwendungsbereiche
Init-Datei erneut einlesen (Cx Cr)
Lesen Sie den Inhalt der Eingaberc Datei und integrieren Sie alle Bindungen oder Variablen
dort gefundene Aufgaben.
abbrechen (Cg)
Brechen Sie den aktuellen Bearbeitungsbefehl ab und klingeln Sie am Terminal (vorbehaltlich der
Einstellung von Glockenstil).
Do-Großbuchstaben-Version (Mama, Mb, M-x, ...)
Wenn das metafizierte Zeichen x klein ist, führen Sie den Befehl aus, der an die gebunden ist
entsprechenden Großbuchstaben.
Präfix-Meta (ESC)
Metafy das nächste eingegebene Zeichen. ESC f entspricht Meta-f.
rückgängig machen (C-_, Cx Cu)
Inkrementelles Rückgängigmachen, das für jede Zeile separat gespeichert wird.
Rückleitung (Herr)
Machen Sie alle an dieser Zeile vorgenommenen Änderungen rückgängig. Das ist wie das Ausführen der rückgängig machen Befehl genug
mal, um die Leitung in ihren Ausgangszustand zurückzusetzen.
Tilde-Erweitern (M-&)
Führen Sie eine Tilde-Erweiterung für das aktuelle Wort aus.
Set-Marke (C-@, M- )
Setzen Sie die Markierung auf den Punkt. Wenn ein numerisches Argument angegeben wird, wird die Markierung auf gesetzt
diese Stellung.
tausch-point-and-mark (Cx Cx)
Vertauschen Sie den Punkt mit der Markierung. Die aktuelle Cursorposition wird auf die gespeicherte
Position und die alte Cursorposition wird als Marke gespeichert.
Charaktersuche (C-])
Ein Zeichen wird gelesen und der Punkt wird zum nächsten Vorkommen dieses Zeichens verschoben. EIN
negativer Zähler sucht nach früheren Vorkommen.
Zeichensuche-rückwärts (MC-])
Ein Zeichen wird gelesen und der Punkt wird an das vorherige Auftreten davon verschoben
Charakter. Eine negative Anzahl sucht nach nachfolgenden Vorkommen.
überspringen-csi-sequenz
Lesen Sie genug Zeichen, um eine Mehrfachtastenfolge zu verwenden, wie sie für . definiert ist
Tasten wie PosXNUMX und Ende. Solche Sequenzen beginnen mit einem Kontrollsequenz-Indikator
(CSI), normalerweise ESC-[. Wenn diese Sequenz an "\[" gebunden ist, erzeugen Schlüssel solche
Sequenzen haben keine Wirkung, es sei denn, sie sind explizit an einen Readline-Befehl gebunden.
anstatt verirrte Zeichen in den Bearbeitungspuffer einzufügen. Dies ist ungebunden von
Standard, aber normalerweise an ESC-[.
Einfügen-Kommentar (M-#)
Ohne ein numerisches Argument ist der Wert der Readline Kommentar-Beginn Variable ist
am Anfang der aktuellen Zeile eingefügt. Wenn ein numerisches Argument angegeben wird,
Dieser Befehl fungiert als Umschalter: Wenn die Zeichen am Zeilenanfang
entspricht nicht dem Wert von Kommentar-Beginn, der Wert wird eingefügt, sonst wird der
Zeichen in Kommentar-Beginn werden am Zeilenanfang gelöscht. In beiden
Fall wird die Zeile akzeptiert, als ob ein Zeilenumbruch eingegeben worden wäre. Der Standardwert von
Kommentar-Beginn bewirkt, dass dieser Befehl die aktuelle Zeile zu einem Shell-Kommentar macht. Wenn ein
Das numerische Argument bewirkt, dass das Kommentarzeichen entfernt wird, die Zeile wird
von der Shell ausgeführt.
Glob-Komplett-Wort (Mg)
Das Wort vor dem Punkt wird als Muster für die Pfadnamenerweiterung behandelt, mit einem
Sternchen implizit angehängt. Dieses Muster wird verwendet, um eine Liste mit übereinstimmenden
Dateinamen für mögliche Vervollständigungen.
global-expand-word (Cx *)
Das Wort vor dem Punkt wird als Muster für die Pfadnamenerweiterung behandelt, und die Liste
übereinstimmender Dateinamen wird eingefügt und ersetzt das Wort. Wenn ein numerisches Argument ist
bereitgestellt wird, wird vor der Erweiterung des Pfadnamens ein Sternchen angehängt.
Glob-Listen-Erweiterungen (Cx g)
Die Liste der Erweiterungen, die erstellt worden wäre von global-expand-word is
angezeigt, und die Linie wird neu gezeichnet. Wenn ein numerisches Argument angegeben wird, wird ein Sternchen
wird vor der Pfadnamenerweiterung angehängt.
Dump-Funktionen
Drucken Sie alle Funktionen und ihre Tastenzuordnungen in den readline-Ausgabestrom.
Wenn ein numerisches Argument übergeben wird, wird die Ausgabe so formatiert, dass sie
kann Teil eines Eingaberc Datei.
Dump-Variablen
Drucken Sie alle einstellbaren Readline-Variablen und ihre Werte in die Readline
Ausgabestrom. Wenn ein numerisches Argument übergeben wird, wird die Ausgabe so formatiert
eine Möglichkeit, es zu einem Teil eines zu machen Eingaberc Datei.
Dump-Makros
Drucken Sie alle an Makros gebundenen Readline-Tastenfolgen und die Zeichenfolgen, die sie enthalten
Ausgang. Wenn ein numerisches Argument übergeben wird, wird die Ausgabe so formatiert
dass es Teil eines gemacht werden kann Eingaberc Datei.
Display-Shell-Version (Cx Lebenslauf)
Versionsinformationen zur aktuellen Instanz von . anzeigen bash.

Programmierbar Abschlüsse
Wenn eine Wortvervollständigung für ein Argument zu einem Befehl versucht wird, für den eine Vervollständigung
Spezifikation (a kompsp) wurde mit dem . definiert abschließen eingebaut (siehe SHELL GEBAUT
BEFEHLE unten) werden die programmierbaren Vervollständigungseinrichtungen aufgerufen.

Zuerst wird der Befehlsname identifiziert. Wenn das Befehlswort eine leere Zeichenfolge ist
(Vervollständigung am Anfang einer leeren Zeile versucht), jede mit dem definierte compspec -E
Option zu abschließen wird genutzt. Wenn für diesen Befehl eine Compspec definiert wurde, wird die compspec
wird verwendet, um die Liste der möglichen Vervollständigungen für das Wort zu generieren. Wenn das Befehlswort ist
ein vollständiger Pfadname, wird zuerst nach einer Compspec für den vollständigen Pfadnamen gesucht. Wenn keine Compspec
für den vollständigen Pfadnamen gefunden wird, wird versucht, eine Compspec für den Teil zu finden
nach dem letzten Schrägstrich. Wenn diese Suchen nicht zu einer Compspec führen, wird eine Compspec
definiert mit dem -D Option zu abschließen wird als Standard verwendet.

Sobald eine Compspec gefunden wurde, wird sie verwendet, um die Liste der passenden Wörter zu generieren. Wenn ein
compspec wird nicht gefunden, die Standardeinstellung bash Fertigstellung wie oben unter . beschrieben Abschluss is
durchgeführt.

Zuerst werden die durch die compspec spezifizierten Aktionen verwendet. Nur Übereinstimmungen, denen vorangestellt ist
das zu vervollständigende Wort wird zurückgegeben. Wenn das -f or -d Option wird für Dateinamen verwendet oder
Vervollständigung des Verzeichnisnamens, die Shell-Variable FIGNORE wird verwendet, um die Übereinstimmungen zu filtern.

Alle Vervollständigungen, die durch ein Pfadnamenerweiterungsmuster für die -G Option werden generiert
nächste. Die durch das Muster erzeugten Wörter müssen nicht mit dem zu vervollständigenden Wort übereinstimmen. Der
GLOBIGNORE Die Shell-Variable wird nicht zum Filtern der Übereinstimmungen verwendet, aber die FIGNORE Variable ist
benutzt.

Als nächstes wird die als Argument für die -W Option in Betracht gezogen wird. Die Zeichenfolge ist
erste Aufteilung mit den Zeichen im IFS spezielle Variable als Trennzeichen. Shell-Zitate
wird geehrt. Jedes Wort wird dann mit Klammererweiterung, Tilde-Erweiterung, Parameter erweitert
und Variablenexpansion, Befehlssubstitution und arithmetische Expansion, wie oben beschrieben
für ERWEITERUNG. Die Aufteilung der Ergebnisse erfolgt nach den oben unter . beschriebenen Regeln Word
Spaltung. Die Ergebnisse der Erweiterung werden mit dem Wort Sein abgeglichen
vervollständigt, und die passenden Wörter werden zu den möglichen Vervollständigungen.

Nachdem diese Übereinstimmungen generiert wurden, kann jede Shell-Funktion oder jeder Shell-Befehl, der mit dem
-F und -C Optionen aufgerufen wird. Wenn der Befehl oder die Funktion aufgerufen wird, wird die KOMPLET,
COMP_POINT, COMP_KEY und COMP_TYPE Variablen werden wie oben unter beschrieben Werte zugewiesen
Schale Variablen. Wenn eine Shell-Funktion aufgerufen wird, wird die COMP_WORDS und COMP_CWORD
Variablen werden ebenfalls gesetzt. Wenn die Funktion oder der Befehl aufgerufen wird, wird das erste Argument ($1)
ist der Name des Befehls, dessen Argumente vervollständigt werden, das zweite Argument ($2)
ist das Wort, das vervollständigt wird, und das dritte Argument ($3) ist das Wort vor dem Wort
auf der aktuellen Befehlszeile abgeschlossen wird. Keine Filterung der generierten Vervollständigungen
gegen das Wort, das vervollständigt wird, wird durchgeführt; die Funktion oder der Befehl ist abgeschlossen
Freiheit bei der Generierung der Übereinstimmungen.

Jede mit angegebene Funktion -F wird zuerst aufgerufen. Die Funktion kann jede der Shells verwenden
Einrichtungen, darunter die kompgen unten beschrieben eingebaut, um die Übereinstimmungen zu generieren. Es
muss die möglichen Vervollständigungen in die VOLLSTÄNDIG Array-Variable, eine pro Array-Element.

Als nächstes wird ein beliebiger Befehl mit dem . angegeben -C Option wird in einer Umgebung aufgerufen, die äquivalent zu . ist
Befehl ersetzen. Es sollte eine Liste der Vervollständigungen drucken, eine pro Zeile, an die
Standardausgabe. Bei Bedarf kann ein Backslash verwendet werden, um einen Zeilenumbruch zu maskieren.

Nachdem alle möglichen Vervollständigungen generiert wurden, wird jeder mit dem -X
Option wird auf die Liste angewendet. Der Filter ist ein Muster, wie es für die Pfadnamenerweiterung verwendet wird; ein
& im Muster wird durch den Text des zu vervollständigenden Wortes ersetzt. Ein wörtliches & Mai
mit einem Backslash maskiert werden; der Backslash wird entfernt, bevor eine Übereinstimmung versucht wird. Beliebig
Vervollständigung, die dem Muster entspricht, wird aus der Liste entfernt. Ein führendes ! negiert
das Muster; in diesem Fall wird jede Vervollständigung, die nicht dem Muster entspricht, entfernt.

Schließlich werden alle Präfixe und Suffixe angegeben mit dem -P und -S Optionen werden zu jedem hinzugefügt
Mitglied der Abschlussliste, und das Ergebnis wird an den Readline-Abschlusscode zurückgegeben
als Liste der möglichen Vervollständigungen.

Wenn die zuvor angewendeten Aktionen keine Übereinstimmungen generieren und die -o dirnamen zu erhalten
wurde geliefert an abschließen wenn die compspec definiert wurde, ist die Vervollständigung des Verzeichnisnamens
versucht.

Besitzt das -o Plusdirs Option wurde geliefert an abschließen als die compspec definiert wurde,
Es wird versucht, den Verzeichnisnamen zu vervollständigen, und alle Übereinstimmungen werden zu den Ergebnissen der
andere Aktionen.

Wenn eine Compspec gefunden wird, wird standardmäßig alles, was sie generiert, an die Vervollständigung zurückgegeben
Code als vollständigen Satz möglicher Vervollständigungen. Der Standard bash Abschlüsse sind nicht
versucht, und die Readline-Standardeinstellung für die Dateinamenvervollständigung ist deaktiviert. Wenn die -o
bashstandard Option wurde geliefert an abschließen als die compspec definiert wurde, die bash
Standardvervollständigungen werden versucht, wenn die compspec keine Übereinstimmungen generiert. Wenn die -o Standard
Option wurde geliefert an abschließen wenn die compspec definiert wurde, die Standardeinstellung von readline
Die Vervollständigung wird durchgeführt, wenn die compspec (und, falls versucht, die Standardeinstellung) bash
Vervollständigungen) keine Übereinstimmungen generieren.

Wenn eine compspec angibt, dass die Vervollständigung des Verzeichnisnamens erwünscht ist, wird das programmierbare
Vervollständigungsfunktionen zwingen readline, einen Schrägstrich an abgeschlossene Namen anzuhängen, die
symbolische Links zu Verzeichnissen, vorbehaltlich des Wertes der mark-Verzeichnisse readline
variabel, unabhängig von der Einstellung des symbolisch verknüpfte Verzeichnisse markieren readline-Variable.

Es gibt eine gewisse Unterstützung für das dynamische Ändern von Vervollständigungen. Dies ist am nützlichsten, wenn
wird in Kombination mit einer Standardvervollständigung verwendet, die mit . angegeben ist abschließen -D. Es ist möglich
für Shell-Funktionen, die als Vervollständigungshandler ausgeführt werden, um anzuzeigen, dass die Vervollständigung erfolgen soll
erneut versucht, indem ein Exit-Status von 124 zurückgegeben wird. Wenn eine Shell-Funktion 124 zurückgibt und sich ändert
die compspec, die mit dem Befehl verknüpft ist, für den die Vervollständigung versucht wird (geliefert
als erstes Argument, wenn die Funktion ausgeführt wird), startet die programmierbare Vervollständigung neu
von Anfang an mit dem Versuch, eine neue Compspec für diesen Befehl zu finden. Dies erlaubt
eine Reihe von Vervollständigungen, die dynamisch erstellt werden, wenn die Vervollständigung versucht wird, anstatt
alles auf einmal geladen.

Angenommen, es gibt eine Bibliothek mit Compspecs, die jeweils in einer Datei gespeichert sind
entsprechend dem Namen des Befehls würde die folgende Standard-Vervollständigungsfunktion
Vervollständigungen dynamisch laden:

_completion_loader()
{
. "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && Rückgabe 124
}
komplett -D -F _completion_loader -o bashdefault -o default

GESCHICHTE


Wenn das -o Geschichte Option zum kompensieren builtin aktiviert ist, bietet die Shell Zugriff auf die
Befehl Geschichte, die Liste der zuvor eingegebenen Befehle. Der Wert der HISTGRÖSSE
Variable wird als die Anzahl der Befehle verwendet, die in einer Verlaufsliste gespeichert werden sollen. Der Text der
letzte HISTGRÖSSE Befehle (Standard 500) gespeichert. Die Shell speichert jeden Befehl im
Historienliste vor Parameter- und Variablenerweiterung (siehe ERWEITERUNG oben) aber danach
Die History-Expansion wird durchgeführt, abhängig von den Werten der Shell-Variablen HISTIGNORE
und HISTKONTROLLE.

Beim Start wird der Verlauf aus der von der Variablen benannten Datei initialisiert HISTATEI
(Standard ~ / .bash_history). Die Datei mit dem Wert von HISTATEI wird abgeschnitten, wenn
erforderlich, darf nicht mehr als die durch den Wert von . angegebene Anzahl von Zeilen enthalten
HISTDATEIGRÖSSE. Wenn HISTDATEIGRÖSSE ist nicht gesetzt oder auf null, einen nicht numerischen Wert oder einen numerischen Wert gesetzt
Wenn ein Wert kleiner als Null ist, wird die Verlaufsdatei nicht abgeschnitten. Wenn die Verlaufsdatei gelesen wird,
Zeilen, die mit dem Verlaufskommentar beginnen, gefolgt von einer Ziffer, sind
als Zeitstempel für die vorangegangene Verlaufszeile interpretiert. Diese Zeitstempel sind optional
angezeigt in Abhängigkeit vom Wert des HISTZEITFORMAT Variable. Wenn eine Schale mit
Verlauf aktivierte Exits, die letzten $HISTGRÖSSE Zeilen werden aus der Verlaufsliste kopiert nach
$HISTFILE. Wenn der histappend Shell-Option ist aktiviert (siehe Beschreibung von einkaufen für
SHELL GEBAUT BEFEHLE unten), werden die Zeilen an die History-Datei angehängt, andernfalls die
Verlaufsdatei wird überschrieben. Wenn HISTATEI nicht gesetzt ist oder die Verlaufsdatei nicht beschreibbar ist,
der Verlauf wird nicht gespeichert. Wenn die HISTZEITFORMAT Variable wird gesetzt, Zeitstempel werden geschrieben
in die Verlaufsdatei, markiert mit dem Verlaufskommentarzeichen, damit sie aufbewahrt werden können
über Shell-Sitzungen hinweg. Dies verwendet das Verlaufskommentarzeichen, um Zeitstempel zu unterscheiden
aus anderen Geschichtslinien. Nach dem Speichern des Verlaufs wird die Verlaufsdatei gekürzt auf
enthalten nicht mehr als HISTDATEIGRÖSSE Linien. Wenn HISTDATEIGRÖSSE nicht gesetzt oder auf null gesetzt ist, ein Nicht-
numerischer Wert oder ein numerischer Wert kleiner als Null ist, wird die Verlaufsdatei nicht abgeschnitten.

Der eingebaute Befehl fc (sehen SHELL GEBAUT BEFEHLE unten) kann zum Auflisten oder Bearbeiten verwendet werden und
einen Teil der Verlaufsliste erneut ausführen. Der Geschichte Builtin kann verwendet werden, um anzuzeigen oder
Ändern Sie die Verlaufsliste und bearbeiten Sie die Verlaufsdatei. Wenn Sie die Befehlszeilenbearbeitung verwenden,
Suchbefehle sind in jedem Bearbeitungsmodus verfügbar, die Zugriff auf den Verlauf bieten
Liste.

Die Shell ermöglicht die Kontrolle darüber, welche Befehle in der Verlaufsliste gespeichert werden. Der
HISTKONTROLLE und HISTIGNORE Variablen können so gesetzt werden, dass die Shell nur eine Teilmenge speichert
der eingegebenen Befehle. Der cmdhist Shell-Option, falls aktiviert, bewirkt, dass die Shell
Versuchen Sie, jede Zeile eines mehrzeiligen Befehls im gleichen Verlaufseintrag zu speichern, und fügen Sie hinzu
Semikolon, wo nötig, um die syntaktische Korrektheit zu bewahren. Der Lithist Shell-Option
bewirkt, dass die Shell den Befehl mit eingebetteten Zeilenumbrüchen anstelle von Semikolons speichert. Sehen
die Beschreibung der einkaufen eingebaut unten unter SHELL GEBAUT BEFEHLE Informationen zu
Shell-Optionen setzen und deaktivieren.

GESCHICHTE ERWEITERUNG


Die Shell unterstützt eine Verlaufserweiterungsfunktion, die der Verlaufserweiterung in . ähnelt
ch. In diesem Abschnitt werden die verfügbaren Syntaxfunktionen beschrieben. Diese Funktion ist aktiviert
standardmäßig für interaktive Shells und kann mit dem deaktiviert werden +H Option zum kompensieren
eingebauter Befehl (siehe SHELL GEBAUT BEFEHLE unter). Nicht interaktive Shells funktionieren nicht
Verlaufserweiterung standardmäßig.

Verlaufserweiterungen führen Wörter aus der Verlaufsliste in den Eingabestrom ein und machen ihn so
einfach zu wiederholende Befehle, fügen Sie die Argumente eines vorherigen Befehls in die aktuelle Eingabe ein
Zeile, oder beheben Sie Fehler in vorherigen Befehlen schnell.

Die History-Expansion wird unmittelbar nach dem Lesen einer kompletten Zeile vor der Shell durchgeführt
bricht es in Worte. Es findet in zwei Teilen statt. Die erste besteht darin, zu bestimmen, welche Linie
aus der Verlaufsliste, die während der Vertretung verwendet werden soll. Die zweite besteht darin, Teile von . auszuwählen
diese Zeile für die Aufnahme in die aktuelle. Die aus der Historie ausgewählte Zeile ist die
Event, und die Teile dieser Linie, auf die eingewirkt wird, sind Worte. Verschiedene Modifikatoren sind
verfügbar, um die ausgewählten Wörter zu bearbeiten. Die Zeile wird gleich in Worte gebrochen
Mode wie beim Lesen von Eingaben, so dass mehrere Metazeichen-getrennte Wörter umgeben von
Zitate gelten als ein Wort. Geschichtserweiterungen werden durch das Erscheinen von . eingeführt
der Geschichtserweiterungscharakter, der ist ! standardmäßig. Nur Backslash (\) und Single
Anführungszeichen können das Verlaufserweiterungszeichen zitieren.

Mehrere Zeichen verhindern die Erweiterung der Historie, wenn sie unmittelbar nach der Historie gefunden werden
Erweiterungszeichen, auch wenn es nicht in Anführungszeichen steht: Leerzeichen, Tabulator, Zeilenumbruch, Wagenrücklauf und =.
Besitzt das extglob Shell-Option ist aktiviert, ( wird auch die Expansion hemmen.

Mehrere Shell-Optionen einstellbar mit dem einkaufen builtin kann verwendet werden, um das Verhalten anzupassen
der Geschichtserweiterung. Wenn die histverify Shell-Option ist aktiviert (siehe Beschreibung von
einkaufen unten eingebaut) und readline verwendet wird, Verlaufsersetzungen nicht
sofort an den Shell-Parser übergeben. Stattdessen wird die erweiterte Zeile neu in den geladen
readline Editierpuffer für weitere Modifikationen. Wenn readline verwendet wird, und die
histreedit Shell-Option aktiviert ist, wird eine fehlgeschlagene Verlaufsersetzung neu geladen in
readline Bearbeitungspuffer zur Korrektur. Der -p Option zum Geschichte eingebauter Befehl
kann verwendet werden, um zu sehen, was eine Verlaufserweiterung macht, bevor Sie sie verwenden. Der -s Option zum
Geschichte Builtin kann verwendet werden, um Befehle am Ende der Verlaufsliste hinzuzufügen, ohne
tatsächlich ausführen, damit sie für einen späteren Abruf zur Verfügung stehen.

Die Shell ermöglicht die Steuerung der verschiedenen Zeichen, die vom Mechanismus zur Verlaufserweiterung verwendet werden
(siehe Beschreibung von histchars oben unter Schale Variablen). Die Shell verwendet die
History-Kommentarzeichen zum Markieren von History-Zeitstempeln beim Schreiben der History-Datei.

Event Bezeichner
Ein Ereignisbezeichner ist ein Verweis auf einen Befehlszeileneintrag in der Verlaufsliste. Es sei denn
der Bezug ist absolut, Ereignisse sind relativ zur aktuellen Position in der Historie
Liste.

! Beginnen Sie eine Verlaufsersetzung, außer wenn von a . gefolgt wird leer, Zeilenumbruch, Wagen
zurück, = oder ( (wenn die extglob Shell-Option wird mit dem aktiviert einkaufen eingebaut).
!n Siehe Befehlszeile n.
!-n Siehe den aktuellen Befehl minus n.
!! Siehe den vorherigen Befehl. Dies ist ein Synonym für `!-1'.
!Schnur
Beziehen Sie sich auf den letzten Befehl vor der aktuellen Position in der Verlaufsliste
beginnen mit Schnur.
!?Schnur[?]
Beziehen Sie sich auf den letzten Befehl vor der aktuellen Position in der Verlaufsliste
mit Schnur. Der Nachläufer ? kann weggelassen werden, wenn Schnur folgt sofort
durch einen Zeilenumbruch.
^string1^string2^
Schneller Austausch. Wiederholen Sie den vorherigen Befehl und ersetzen Sie string1 mit string2.
Äquivalent zu ``!!:s/string1/string2/'' (sehen Modifikatoren unten).
!# Die gesamte bisher eingegebene Befehlszeile.

Word Bezeichner
Wortbezeichner werden verwendet, um gewünschte Wörter aus dem Ereignis auszuwählen. EIN : trennt die Veranstaltung
Angabe aus dem Wortbezeichner. Es kann weggelassen werden, wenn das Wort Bezeichner beginnt
mit ^, $, *, -, oder %. Wörter werden vom Zeilenanfang an nummeriert, mit dem
das erste Wort wird mit 0 (Null) bezeichnet. Wörter werden getrennt in die aktuelle Zeile eingefügt
durch einzelne Leerzeichen.

0 (Null)
Das nullte Wort. Für die Shell ist dies das Befehlswort.
n Das ntes Wort.
^ Das erste Argument. Das heißt, Wort 1.
$ Das letzte Wort. Dies ist normalerweise das letzte Argument, wird aber auf die Null erweitert
Wort, wenn die Zeile nur ein Wort enthält.
% Das Wort, das vom neuesten `?Schnur?' Suche.
x-y Eine Reihe von Wörtern; `-y' kürzt `0-y'.
* Alle Wörter außer dem nullten. Dies ist ein Synonym für `1- $'. Es ist kein Fehler
benutzen * wenn das Ereignis nur ein Wort enthält; die leere Zeichenfolge wird zurückgegeben in
dieser Fall.
x* Abkürzungen x-$.
x- Abkürzungen x-$ Gefällt mir x*, lässt aber das letzte Wort aus.

Wird ein Wortbezeichner ohne Ereignisangabe übergeben, lautet der vorherige Befehl
als Veranstaltung verwendet.

Modifikatoren
Nach dem optionalen Wortbezeichner kann eine Folge von einem oder mehreren der
folgenden Modifikatoren, denen jeweils ein `:' vorangestellt ist.

h Entfernen Sie eine nachgestellte Dateinamenkomponente, sodass nur der Kopf übrig bleibt.
t Entfernen Sie alle führenden Dateinamenkomponenten und lassen Sie das Ende übrig.
r Entfernen Sie ein nachgestelltes Suffix des Formulars Xxx., wobei der Basisname übrig bleibt.
e Entfernen Sie alle außer dem abschließenden Suffix.
p Drucken Sie den neuen Befehl, aber führen Sie ihn nicht aus.
q Zitieren Sie die ersetzten Wörter und vermeiden Sie weitere Ersetzungen.
x Zitiere die ersetzten Wörter wie mit q, aber breche in Worte bei Rohlinge und Zeilenumbrüche.
s/alt/neu/
Ersatz neu für das erste Auftreten von alt in der Ereigniszeile. Beliebiges Trennzeichen
kann anstelle von verwendet werden /. Das letzte Trennzeichen ist optional, wenn es das letzte ist
Charakter der Ereigniszeile. Das Trennzeichen kann zitiert werden in alt und neu mit
einzelner Backslash. Wenn & in erscheint neu, es wird ersetzt durch alt. Ein einzelner Backslash
wird das & zitieren. Wenn alt ist null, es wird auf den letzten gesetzt alt ersetzt, oder, falls nein
Vorgeschichte Einwechslungen fanden statt, die letzten Schnur in einem !?Schnur[?]
Suche.
& Wiederholen Sie die vorherige Ersetzung.
g Bewirken, dass Änderungen auf die gesamte Ereignislinie angewendet werden. Dies wird verwendet in
Verbindung mit `:s' (z. B. `:gs/alt/neu/') oder `:&'. Bei Verwendung mit `:s', beliebig
Trennzeichen kann anstelle von / verwendet werden, und das letzte Trennzeichen ist optional, wenn es . ist
das letzte Zeichen der Ereigniszeile. Ein a kann als Synonym für verwendet werden g.
G Wenden Sie die folgenden ` . ans'-Modifikator einmal für jedes Wort in der Ereigniszeile.

SHELL GEBAUT BEFEHLE


Sofern nicht anders angegeben, gilt jeder in diesem Abschnitt dokumentierte eingebaute Befehl als akzeptierend
Optionen mit vorangestelltem - akzeptiert -- um das Ende der Optionen anzuzeigen. Der :, was immer dies auch sein sollte., falsch,
und Test Builtins akzeptieren keine Optionen und behandeln nicht -- speziell. Der wunsch, Abmeldung,
brechen, fortsetzen, lassen und verschieben Builtins akzeptieren und verarbeiten Argumente beginnend mit -
ohne zu erfordern --. Andere Built-Ins, die Argumente akzeptieren, aber nicht angegeben sind als
Akzeptieren von Optionen interpretieren Argumente beginnend mit - als ungültige Optionen und erfordern --
diese Deutung zu verhindern.
: [Argumente]
Kein Effekt; der Befehl macht nichts weiter als das Erweitern Argumente und alle ausführen
angegebenen Umleitungen. Es wird ein Null-Exit-Code zurückgegeben.

. Dateinamen [Argumente]
Quelle Dateinamen [Argumente]
Lesen und Ausführen von Befehlen von Dateinamen in der aktuellen Shell-Umgebung und zurück
der Exit-Status des letzten ausgeführten Befehls von Dateinamen. Wenn Dateinamen nicht
enthalten einen Schrägstrich, Dateinamen in PATH werden verwendet, um das Verzeichnis zu finden, das . enthält
Dateinamen. Die gesuchte Datei in PATH muss nicht ausführbar sein. Wann bash ist nicht
in POSIX Modus, das aktuelle Verzeichnis wird durchsucht, wenn keine Datei gefunden wird in PATH. Wenn
Quellpfad Option zum einkaufen eingebauter Befehl ist ausgeschaltet, der PATH ist nicht
gesucht. Wenn überhaupt Argumente geliefert werden, werden sie zu den Positionsparametern
wann Dateinamen ausgeführt wird. Ansonsten bleiben die Positionsparameter unverändert. Der
Rückgabestatus ist der Status des letzten Befehls, der innerhalb des Skripts beendet wurde (0 wenn nein
Befehle werden ausgeführt) und false, wenn Dateinamen wird nicht gefunden oder kann nicht gelesen werden.

alias [-p] [Name[=Wert] ...]
Alias ohne Argumente oder mit dem -p Option druckt die Liste der Aliase im
unten stehende Formular alias Name=Wert auf Standardausgabe. Wenn Argumente bereitgestellt werden, ist ein Alias ​​​​
für jeden definiert Name deren Wert gegeben ist. Ein nachgestelltes Leerzeichen in Wert verursacht die
nächstes Wort, das beim Erweitern des Alias ​​auf Alias-Ersetzung überprüft werden soll. Für
jeder Name in der Argumentliste, für die nein Wert geliefert wird, Name und Wert
des Alias ​​wird gedruckt. Alias gibt true zurück, es sei denn, a Name gegeben ist, für die nein
Alias ​​wurde definiert.

bg [Stellenbeschreibung ...]
Setzen Sie jeden unterbrochenen Job fort Stellenbeschreibung im Hintergrund, als ob es damit angefangen hätte
&. Wenn Stellenbeschreibung ist nicht vorhanden, die Vorstellung der Shell von der Strom Job wird eingesetzt. bg
Stellenbeschreibung gibt 0 zurück, es sei denn, es wird ausgeführt, wenn die Jobsteuerung deaktiviert ist, oder wenn es mit einem Job ausgeführt wird
Steuerung aktiviert, beliebige Angabe Stellenbeschreibung wurde nicht gefunden oder wurde ohne Job gestartet
steuern.

binden [-m Tastenbelegung] [-lpsvPSVX]
binden [-m Tastenbelegung] [-q Funktion] [-u Funktion] [-r Schlüsselseq]
binden [-m Tastenbelegung] -f Dateinamen
binden [-m Tastenbelegung] -x Schlüsselseq:Shell-Befehl
binden [-m Tastenbelegung] Schlüsselseq:Funktionsname
binden readline-Befehl
Aktuellen anzeigen readline Tasten- und Funktionszuordnungen, binden Sie eine Tastenfolge an a
readline Funktion oder Makro, oder set a readline Variable. Jedes Nicht-Optionsargument
ist ein Befehl, wie er in erscheinen würde .inputrc, aber jede Bindung oder jeder Befehl muss
als separates Argument übergeben; zB '"\Cx\Cr": re-read-init-file'. Optionen, wenn
geliefert, haben folgende Bedeutungen:
-m Tastenbelegung
Verwenden Sie die Tastenbelegung als Keymap, die von den nachfolgenden Bindungen beeinflusst werden soll.
Akzeptabel Tastenbelegung Namen sind Emacs, emacs-Standard, emacs-meta, emacs-ctlx,
Sie, vi-bewegen, vi-Befehl und vi-einfügen. vi entspricht vi-Befehl;
Emacs entspricht Emacs-Standard.
-l Liste die Namen aller auf readline Funktionen.
-p Display readline Funktionsnamen und Bindungen so, dass sie
erneut lesen.
-P Liste aktuell readline Funktionsnamen und Bindungen.
-s Display readline an Makros gebundene Tastenfolgen und die von ihnen ausgegebenen Zeichenfolgen
so dass sie wieder gelesen werden können.
-S Display readline an Makros gebundene Tastenfolgen und die von ihnen ausgegebenen Zeichenfolgen.
-v Display readline Variablennamen und -werte so, dass sie
erneut lesen.
-V Liste aktuell readline Variablennamen und -werte.
-f Dateinamen
Tastenbelegung auslesen von Dateinamen.
-q Funktion
Abfrage, welche Schlüssel das benannte aufrufen Funktion.
-u Funktion
Entbinde alle Schlüssel, die an das benannte gebunden sind Funktion.
-r Schlüsselseq
Entfernen Sie alle aktuellen Bindungen für Schlüsselseq.
-x Schlüsselseq:Shell-Befehl
Verursachen Shell-Befehl ausgeführt werden, wann immer Schlüsselseq eingetragen ist. Wann
Shell-Befehl ausgeführt wird, setzt die Shell die READLINE_LINE Variable zum
Inhalt der readline Zeilenpuffer und die READLINE_POINT Variable zum
aktuelle Position der Einfügemarke. Wenn sich der ausgeführte Befehl ändert
der Wert READLINE_LINE or READLINE_POINT, diese neuen Werte werden
im Bearbeitungszustand widergespiegelt.
-X Listen Sie alle Tastenfolgen auf, die an Shell-Befehle und die zugehörigen Befehle gebunden sind
in einem Format, das als Eingabe wiederverwendet werden kann.

Der Rückgabewert ist 0, es sei denn, es wird eine nicht erkannte Option angegeben oder ein Fehler ist aufgetreten.

brechen [n]
Verlassen Sie innerhalb von a für, während, bis, oder wählen Schleife. Wenn n ist angegeben, Pause n
Ebenen. n muss ≥ 1 sein. Wenn n ist größer als die Anzahl der umschließenden Schleifen, all
umschließende Schleifen werden verlassen. Der Rückgabewert ist 0, es sei denn n ist nicht größer als oder
gleich 1.

builtin Shell-integriert [Argumente]
Führen Sie das angegebene Shell-Buildin aus und übergeben Sie es Argumente, und seinen Ausgang zurückgeben
Status. Dies ist nützlich, wenn Sie eine Funktion definieren, deren Name der einer Shell entspricht
builtin, wobei die Funktionalität des Builtin innerhalb der Funktion erhalten bleibt. Der cd
builtin wird üblicherweise auf diese Weise neu definiert. Der Rückgabestatus ist falsch, wenn
Shell-integriert ist kein Shell-integrierter Befehl.

Anrufer [ausdr]
Gibt den Kontext jedes aktiven Unterprogrammaufrufs (eine Shell-Funktion oder ein Skript) zurück
ausgeführt mit dem . or Quelle eingebaut). Ohne ausdr, Anrufer zeigt die Zeile an
Nummer und Quelldateiname des aktuellen Unterprogrammaufrufs. Wenn ein nicht-negatives
Ganzzahl wird geliefert als ausdr, Anrufer zeigt die Zeilennummer, den Namen der Unterroutine und
Quelldatei, die dieser Position in der aktuellen Ausführungsaufrufliste entspricht.
Diese zusätzlichen Informationen können beispielsweise verwendet werden, um einen Stack-Trace zu drucken. Der
Der aktuelle Frame ist Frame 0. Der Rückgabewert ist 0, es sei denn, die Shell wird nicht ausgeführt
ein Unterprogrammaufruf oder ausdr entspricht keiner gültigen Position im Aufruf
Stapel.

cd [-L|[-P [-e]] [-@]] [dir]
Ändere das aktuelle Verzeichnis zu dir. wenn dir wird nicht geliefert, der Wert der HOME
Shell-Variable ist die Standardeinstellung. Alle weiteren Argumente folgen dir werden ignoriert.
Die Variable CDPATH definiert den Suchpfad für das Verzeichnis, das . enthält dir: jeder
Verzeichnisname in CDPATH wird gesucht dir. Alternative Verzeichnisnamen in
CDPATH werden durch einen Doppelpunkt (:) getrennt. Ein null Verzeichnisname in CDPATH ist dasselbe
als aktuelles Verzeichnis, dh ``.''. Wenn dir beginnt mit einem Schrägstrich (/), dann CDPATH
wird nicht verwendet. Das -P Option verursacht cd die physische Verzeichnisstruktur zu verwenden, indem
Auflösen von symbolischen Links beim Durchlaufen dir und vor der Verarbeitung von Instanzen von ..
in dir (siehe auch die -P Option zum kompensieren eingebauter Befehl); das -L Optionskräfte
symbolischen Links, denen gefolgt werden soll, indem der Link nach der Verarbeitung von Instanzen von . aufgelöst wird
.. in dir. Wenn .. erscheint in dir, es wird verarbeitet, indem das sofort entfernt wird
vorherige Pfadname-Komponente von dir, zurück zu einem Schrägstrich oder dem Anfang von dir. Wenn
-e Option wird mitgeliefert -P, und das aktuelle Arbeitsverzeichnis kann nicht sein
nach erfolgreichem Verzeichniswechsel erfolgreich ermittelt, cd wird eine zurückgeben
erfolglosen Status. Auf Systemen, die dies unterstützen, ist die -@ Option präsentiert die
erweiterte Attribute, die einer Datei als Verzeichnis zugeordnet sind. Ein Argument von - is
umgewandelt zu $OLDPWD bevor der Verzeichniswechsel versucht wird. Wenn ein nicht leerer
Verzeichnisname von CDPATH verwendet wird, oder wenn - ist das erste Argument, und die
Verzeichniswechsel erfolgreich ist, der absolute Pfadname des neuen Arbeitsverzeichnisses
wird auf die Standardausgabe geschrieben. Der Rückgabewert ist wahr, wenn das Verzeichnis
erfolgreich geändert; sonst falsch.

Befehl [-pVv] Befehl [arg ...]
Führen Sie Befehl mit args Unterdrücken der normalen Shell-Funktionssuche. Nur eingebaut
Befehle oder Befehle im PATH ausgeführt werden. Wenn die -p Option ist gegeben,
die Suche nach Befehl wird mit einem Standardwert für . durchgeführt PATH das ist
garantiert, alle Standard-Dienstprogramme zu finden. Wenn entweder die -V or -v Option ist
geliefert, eine Beschreibung von Befehl gedruckt ist. Der -v Option verursacht ein einzelnes Wort
Angabe des zum Aufrufen verwendeten Befehls oder Dateinamens Befehl Angezeigt werden; das -V
Option erzeugt eine ausführlichere Beschreibung. Wenn die -V or -v Option wird geliefert,
der Exit-Status ist 0, wenn Befehl gefunden wurde, und 1 wenn nicht. Wenn keine Option ist
geliefert und ein Fehler ist aufgetreten oder Befehl nicht gefunden werden kann, ist der Exit-Status 127.
Andernfalls wird der Austrittsstatus der Befehl Builtin ist der Exit-Status von Befehl.

kompgen [zu erhalten] [Wort]
Generiere mögliche Abschluss-Matches für Wort nach dem zu erhaltens, das kann
eine beliebige Option sein, die von der . akzeptiert wird abschließen eingebaut mit Ausnahme von -p und -r und
Schreiben Sie die Übereinstimmungen in die Standardausgabe. Bei Verwendung des -F or -C Optionen, die
verschiedene Shell-Variablen, die von den programmierbaren Vervollständigungsfunktionen festgelegt werden, während
verfügbar, haben keine brauchbaren Werte.

Die Übereinstimmungen werden auf die gleiche Weise generiert, als ob die programmierbare Vervollständigung
Code hatte sie direkt aus einer Vervollständigungsspezifikation mit derselben generiert
Flaggen. Wenn Wort angegeben ist, nur die Vervollständigungen, die übereinstimmen Wort wird sein
angezeigt.

Der Rückgabewert ist wahr, es sei denn, es wurde eine ungültige Option angegeben oder es wurden keine Übereinstimmungen gefunden
generiert.

abschließen [-abcdefgjksuv] [-o Komp-Option] [-DE] [-A Aktion] [-G Globpat] [-W Wortliste] [-F
Funktion] [-C Befehl]
[-X Filterpat] [-P Präfix] [-S Suffix] Name [Name ...]
abschließen -pr [-DE] [Name ...]
Geben Sie an, wie Argumente zu jedem Name sollte abgeschlossen sein. Wenn die -p Option ist
geliefert, oder wenn keine Optionen geliefert werden, sind vorhandene Fertigstellungsspezifikationen
so gedruckt, dass sie als Eingabe wiederverwendet werden können. Der -r Option entfernt a
Fertigstellungsspezifikation für jeden Name, oder, wenn nein Names werden mitgeliefert, alle
Fertigstellungsspezifikationen. Der -D Option gibt an, dass die verbleibenden Optionen und
Aktionen sollten auf die Vervollständigung des ``default''-Befehls angewendet werden; das heißt, Vervollständigung
bei einem Befehl versucht, für den zuvor kein Abschluss definiert wurde. Der -E
Option gibt an, dass die verbleibenden Optionen und Aktionen für ``leer'' gelten sollen
Befehlsvervollständigung; das heißt, der Abschluss wurde in einer leeren Zeile versucht.

Der Prozess der Anwendung dieser Vervollständigungsspezifikationen, wenn die Wortvervollständigung
versucht ist oben beschrieben unter Programmierbar Abschlüsse.

Andere Optionen haben, falls angegeben, die folgenden Bedeutungen. Die Argumente für die -G,
-W und -X Optionen (und ggf. die -P und -S Optionen) sollte zitiert werden an
schützen Sie sie vor Ausdehnung vor dem abschließen Builtin wird aufgerufen.
-o Komp-Option
Das Komp-Option kontrolliert mehrere Aspekte des Verhaltens der Compspec darüber hinaus
die einfache Generierung von Vervollständigungen. Komp-Option kann einer sein von:
bashstandard
Führen Sie den Rest der Vorgabe durch bash Vervollständigungen, wenn die compspec
erzeugt keine Übereinstimmungen.
Standard Verwenden Sie die standardmäßige Dateinamenvervollständigung von readline, wenn die compspec
erzeugt keine Übereinstimmungen.
dirnamen
Führen Sie die Vervollständigung des Verzeichnisnamens durch, wenn die compspec keine generiert
Streichhölzer.
Dateinamen
Teilen Sie readline mit, dass die Compspec Dateinamen generiert, damit es möglich ist
Führen Sie eine beliebige dateinamenspezifische Verarbeitung durch (wie das Hinzufügen eines Schrägstrichs zu
Verzeichnisnamen, das Anführen von Sonderzeichen oder das Unterdrücken von
nachgestellte Leerzeichen). Soll mit Shell-Funktionen verwendet werden.
kein Zitat Sagen Sie readline, dass es die vollständigen Wörter nicht zitieren soll, wenn dies der Fall ist
Dateinamen (Dateinamen in Anführungszeichen zu setzen ist die Standardeinstellung).
kein Platz Sagen Sie readline, dass es kein Leerzeichen (Standard) an Wörter anhängen soll
am Ende der Zeile abgeschlossen.
Plusdirs
Nachdem alle durch die compspec definierten Übereinstimmungen generiert wurden, wird Verzeichnis
Es wird versucht, den Namen zu vervollständigen, und alle Übereinstimmungen werden zum hinzugefügt
Ergebnisse der anderen Aktionen.
-A Aktion
Das Aktion kann einer der folgenden sein, um eine Liste möglicher
Fertigstellungen:
alias Alias-Namen. Kann auch angegeben werden als -a.
Arrayvar
Namen von Array-Variablen.
Bindung Readline Namen von Tastenkombinationen.
builtin Namen von Shell-integrierten Befehlen. Kann auch angegeben werden als -b.
Befehl Befehlsnamen. Kann auch angegeben werden als -c.
Verzeichnis
Verzeichnisnamen. Kann auch angegeben werden als -d.
behindert
Namen deaktivierter Shell-Builins.
freigegeben Namen der aktivierten Shell-Builins.
exportieren Namen der exportierten Shell-Variablen. Kann auch angegeben werden als -e.
Datei Dateinamen. Kann auch angegeben werden als -f.
Funktion
Namen von Shell-Funktionen.
Gruppe Gruppennamen. Kann auch angegeben werden als -g.
Hilfethema
Hilfethemen, wie von der . akzeptiert Hilfe eingebaut.
hostname
Hostnamen, wie sie aus der Datei entnommen werden, die von der HOSTDATEI Schale
variabel.
Job Jobnamen, wenn Jobsteuerung aktiv ist. Kann auch angegeben werden als -j.
Stichwort Shell reservierte Wörter. Kann auch angegeben werden als -k.
Laufen Namen laufender Jobs, wenn die Jobsteuerung aktiv ist.
Dienstnamen. Kann auch angegeben werden als -s.
setopt Gültige Argumente für die -o Option zum kompensieren eingebaut.
einkaufen Shell-Optionsnamen, wie sie von der . akzeptiert werden einkaufen eingebaut.
Signal Signalnamen.
gestoppt Namen angehaltener Jobs, wenn die Jobsteuerung aktiv ist.
Benutzer Benutzernamen. Kann auch angegeben werden als -u.
Variable
Namen aller Shell-Variablen. Kann auch angegeben werden als -v.
-C Befehl
Befehl wird in einer Subshell-Umgebung ausgeführt und ihre Ausgabe wird verwendet als
die möglichen Ergänzungen.
-F Funktion
Die Shell-Funktion Funktion wird in der aktuellen Shell-Umgebung ausgeführt.
Wenn die Funktion ausgeführt wird, wird das erste Argument ($1) ist der Name des
Befehl, dessen Argumente vervollständigt werden, das zweite Argument ($2) abgestimmt ist, lautet
das Wort, das vervollständigt wird, und das dritte Argument ($3) ist das Wort vor
das Wort wird in der aktuellen Befehlszeile vervollständigt. Wenn es fertig ist,
die möglichen Vervollständigungen werden aus dem Wert der VOLLSTÄNDIG
Array-Variable.
-G Globpat
Das Pfadnamen-Erweiterungsmuster Globpat wird erweitert, um das Mögliche zu generieren
Fertigstellungen.
-P Präfix
Präfix wird doch am Anfang jeder möglichen Vervollständigung hinzugefügt
andere Optionen wurden angewendet.
-S Suffix
Suffix wird an jede mögliche Vervollständigung angehängt, nachdem alle anderen Optionen
angewendet wurde.
-W Wortliste
Das Wortliste wird mit den Zeichen im aufgeteilt IFS Sondervariable als
Trennzeichen, und jedes resultierende Wort wird erweitert. Die möglichen Ergänzungen
sind die Mitglieder der resultierenden Liste, die dem zu vervollständigenden Wort entsprechen.
-X Filterpat
Filterpat ist ein Muster, wie es für die Pfadnamenerweiterung verwendet wird. Es wird angewendet auf
die Liste der möglichen Vervollständigungen, die durch die vorhergehenden Optionen generiert wurde und
Argumente und jede Vervollständigung passt Filterpat wird aus der Liste entfernt.
Ein führender ! in Filterpat negiert das Muster; in diesem Fall jede Vervollständigung
nicht passend Filterpat ist entfernt.

Der Rückgabewert ist wahr, es sei denn, es wird eine ungültige Option angegeben, eine andere Option als
-p or -r wird ohne a . geliefert Name Argument wird versucht, a . zu entfernen
Fertigstellungsspezifikation für a Name für die keine Spezifikation existiert oder ein Fehler vorliegt
erfolgt das Hinzufügen einer Abschlussspezifikation.

komponieren [-o zu erhalten] [-DE] [+o zu erhalten] [Name]
Vervollständigungsoptionen für jeden ändern Name nach dem zu erhaltens, oder für die
aktuell ausgeführter Abschluss, wenn nein Names geliefert werden. Wenn nein zu erhaltens sind gegeben,
die Vervollständigungsoptionen für jeden anzeigen Name oder die aktuelle Fertigstellung. Der
mögliche Werte von zu erhalten sind die gültig für die abschließen oben beschrieben eingebaut.
Das -D Option gibt an, dass die verbleibenden Optionen für den ``Standard'' gelten sollen
Befehlsvervollständigung; das heißt, es wurde versucht, einen Befehl zu vervollständigen, für den nein
Die Fertigstellung wurde zuvor definiert. Der -E Option zeigt an, dass die verbleibenden
Optionen sollten für die Vervollständigung des ``leeren''-Befehls gelten; das heißt, Abschluss versucht
in einer leeren Zeile.

Der Rückgabewert ist wahr, es sei denn, es wird eine ungültige Option angegeben, es wird ein Versuch unternommen
um die Optionen für a . zu ändern Name für die keine Fertigstellungsspezifikation existiert, oder
ein Ausgabefehler auftritt.

fortsetzen [n]
Setzen Sie die nächste Iteration der Einschließung fort für, während, bis, oder wählen Schleife. Wenn n
angegeben ist, wieder aufnehmen am numschließende Schleife. n muss ≥ 1 sein. Wenn n ist besser
als die Anzahl der einschließenden Schleifen, die letzte einschließende Schleife (die ``oberste Ebene''
Schleife) wird fortgesetzt. Der Rückgabewert ist 0, es sei denn n ist nicht größer oder gleich
1.

erklären [-aAfFgilnrtux] [-p] [Name[=Wert] ...]
setzen [-aAfFgilnrtux] [-p] [Name[=Wert] ...]
Deklarieren Sie Variablen und/oder geben Sie ihnen Attribute. Wenn nein Names werden dann angezeigt
die Werte von Variablen. Der -p Option zeigt die Attribute und Werte von
jeder Name. Wenn -p wird verwendet mit Name Argumente, zusätzliche Optionen, außer -f
und -F, werden ignoriert. Wann -p wird ohne geliefert Name Argumente, es wird angezeigt
die Attribute und Werte aller Variablen mit den durch die . angegebenen Attributen
zusätzliche Optionen. Wenn keine anderen Optionen mit geliefert werden -p, erklären wird angezeigt
die Attribute und Werte aller Shell-Variablen. Der -f Option schränkt die ein
Anzeige zu Shell-Funktionen. Der -F Option sperrt die Anzeige der Funktion
Definitionen; nur der Funktionsname und die Attribute werden gedruckt. Wenn die extdebug
Shell-Option wird aktiviert mit einkaufen, der Quelldateiname und die Zeilennummer, in der die
Funktion definiert ist, werden ebenfalls angezeigt. Der -F Option impliziert -fdem „Vermischten Geschmack“. Seine -g
Option erzwingt das Erstellen oder Ändern von Variablen im globalen Bereich, auch wenn
erklären wird in einer Shell-Funktion ausgeführt. In allen anderen Fällen wird es ignoriert. Der
Die folgenden Optionen können verwendet werden, um die Ausgabe auf Variablen mit den angegebenen
Attribut oder um Variablen Attribute zu geben:
-a . Name ist eine indizierte Array-Variable (siehe Arrays über).
-A . Name ist eine assoziative Array-Variable (siehe Arrays über).
-f Verwenden Sie nur Funktionsnamen.
-i Die Variable wird als Ganzzahl behandelt; arithmetische Auswertung (siehe ARITHMETIK
BEWERTUNG oben) wird ausgeführt, wenn der Variablen ein Wert zugewiesen wird.
-l Wenn der Variablen ein Wert zugewiesen wird, sind alle Großbuchstaben
in Kleinbuchstaben umgewandelt. Das Großbuchstaben-Attribut ist deaktiviert.
-n Gib jedem Name Namensnennung Attribut, wodurch es zu einem Namensverweis auf ein anderes wird
Variable. Diese andere Variable wird durch den Wert von definiert Name. Alle
Referenzen und Zuordnungen zu Name, außer zum Ändern der -n Attribut
selbst, werden für die Variable ausgeführt, auf die verwiesen wird Name's Wert. Der -n
-Attribut kann nicht auf Array-Variablen angewendet werden.
-r Marke Names schreibgeschützt. Diesen Namen können dann keine Werte zugewiesen werden durch
nachfolgenden Zuweisungsanweisungen oder unset.
-t Gib jedem Name Spur Attribut. Nachverfolgte Funktionen erben die DEBUGGEN und
RÜCKKEHR Traps aus der aufrufenden Shell. Das Trace-Attribut hat keine Besonderheiten
Bedeutung für Variablen.
-u Wenn der Variablen ein Wert zugewiesen wird, sind alle Kleinbuchstaben
in Großbuchstaben umgewandelt. Das Kleinbuchstaben-Attribut ist deaktiviert.
-x Tobias Names für den Export in nachfolgende Befehle über die Umgebung.

Die Verwendung von `+' anstelle von `-' schaltet das Attribut stattdessen aus, mit den Ausnahmen, die
+a darf nicht verwendet werden, um eine Array-Variable zu zerstören und +r wird das schreibgeschützte nicht entfernen
Attribut. Bei Verwendung in einer Funktion, erklären und setzen mach jeden Name lokal, as
an. Nach der Installation können Sie HEIC-Dateien mit der aus einer regionalen Befehl, es sei denn, der -g Option geliefert wird. Wenn ein Variablenname . ist
gefolgt von =Wert, der Wert der Variablen wird auf gesetzt Wert. Beim Benutzen -a or -A
und die zusammengesetzte Zuweisungssyntax zum Erstellen von Array-Variablen, zusätzlichen Attributen
werden erst bei nachfolgenden Zuordnungen wirksam. Der Rückgabewert ist 0, es sei denn, ein
Wenn eine ungültige Option gefunden wird, wird versucht, eine Funktion mit ``-f . zu definieren
foo=bar'', es wird versucht, einer schreibgeschützten Variablen einen Wert zuzuweisen, ein Versuch
wird gemacht, um einer Array-Variablen einen Wert zuzuweisen, ohne die Verbindung zu verwenden
Zuweisungssyntax (siehe Arrays oben), einer der Namen ist keine gültige Shell
Variablenname, es wird versucht, den schreibgeschützten Status für einen schreibgeschützten . auszuschalten
Variable wird versucht, den Array-Status für eine Array-Variable auszuschalten, oder
Es wird versucht, eine nicht vorhandene Funktion anzuzeigen mit -f.

dirs [-clpv] [+n] [-n]
Ohne Optionen zeigt die Liste der aktuell gespeicherten Verzeichnisse an. Der
Die Standardanzeige erfolgt in einer einzigen Zeile mit durch Leerzeichen getrennten Verzeichnisnamen.
Verzeichnisse werden mit dem zur Liste hinzugefügt pushd Befehl; das popd Befehl entfernt
Einträge aus der Liste.
-c Löscht den Verzeichnisstapel durch Löschen aller Einträge.
-l Erzeugt eine Auflistung mit vollständigen Pfadnamen; das Standard-Auflistungsformat verwendet a
Tilde für das Home-Verzeichnis.
-p Drucken Sie den Verzeichnisstapel mit einem Eintrag pro Zeile.
-v Drucken Sie den Verzeichnisstapel mit einem Eintrag pro Zeile, wobei jedem Eintrag ein vorangestellt wird
seinen Index im Stack.
+n Zeigt die nEintrag von links in der Liste gezählt, die durch angezeigt wird dirs wann
ohne Optionen aufgerufen, beginnend mit Null.
-n Zeigt die nEintrag gezählt von rechts in der Liste, die durch angezeigt wird dirs
beim Aufruf ohne Optionen, beginnend mit Null.

Der Rückgabewert ist 0, es sei denn, es wird eine ungültige Option angegeben oder n Indizes jenseits der
Ende des Verzeichnisstapels.

verleugnen [-ar] [-h] [Stellenbeschreibung ...]
Ohne Optionen alle entfernen Stellenbeschreibung aus der Tabelle der aktiven Jobs. Wenn Stellenbeschreibung is
nicht vorhanden, und weder die -a noch das -r Option geliefert wird, die Strom Job is
Gebraucht. Wenn die -h Option ist gegeben, jeder Stellenbeschreibung wird nicht vom Tisch entfernt, aber
ist so gekennzeichnet, dass SEUFZEND wird nicht an den Job gesendet, wenn die Shell a . empfängt SEUFZEND. Wenn
nicht Stellenbeschreibung geliefert wird, die -a Option bedeutet, alle Jobs zu entfernen oder zu markieren; das -r
Option ohne a Stellenbeschreibung -Argument beschränkt die Operation auf laufende Jobs. Die Rückkehr
Wert ist 0, es sei denn, a Stellenbeschreibung gibt keinen gültigen Job an.

Echo [-neE] [arg ...]
Ausgabe der args, getrennt durch Leerzeichen, gefolgt von einem Zeilenumbruch. Der Rückgabestatus ist
0, es sei denn, es tritt ein Schreibfehler auf. Wenn -n angegeben ist, ist der nachgestellte Zeilenumbruch
unterdrückt. Wenn die -e Option ist gegeben, Interpretation des folgenden Backslash-
Escape-Zeichen ist aktiviert. Der -E Option deaktiviert die Interpretation dieser
Escape-Zeichen, auch auf Systemen, auf denen sie standardmäßig interpretiert werden. Der
xpg_echo Shell-Option kann verwendet werden, um dynamisch zu bestimmen, ob oder nicht Echo
erweitert diese Escape-Zeichen standardmäßig. Echo interpretiert nicht -- meinen
Ende der Optionen. Echo interpretiert die folgenden Escape-Sequenzen:
\a Alarm (Glocke)
\b Rücktaste
\c weitere Ausgabe unterdrücken
\e
\E ein Escape-Zeichen
\f Formularvorschub
\n Neue Zeile
\r Wagenrücklauf
\t horizontale Registerkarte
\v vertikale Lasche
\\ umgekehrter Schrägstrich
\0nnn das Acht-Bit-Zeichen, dessen Wert der Oktalwert ist nnn (null bis drei
oktale Ziffern)
\xHH das Acht-Bit-Zeichen, dessen Wert der Hexadezimalwert ist HH (ein oder zwei
Hex-Ziffern)
\uHhhh das Unicode-Zeichen (ISO/IEC 10646), dessen Wert der Hexadezimalwert ist
Hhhh (ein bis vier Hex-Ziffern)
\UHHHHHHH
das Unicode-Zeichen (ISO/IEC 10646), dessen Wert der Hexadezimalwert ist
HHHHHHH (ein bis acht Hex-Ziffern)

ermöglichen [-a] [-dnps] [-f Dateinamen] [Name ...]
Aktivieren und deaktivieren Sie integrierte Shell-Befehle. Das Deaktivieren eines eingebauten ermöglicht eine Festplatte
Befehl, der den gleichen Namen hat wie eine eingebaute Shell, die ohne ausgeführt werden soll
einen vollständigen Pfadnamen angeben, obwohl die Shell normalerweise nach Builtins sucht
vor Festplattenbefehlen. Wenn -n verwendet wird, jeder Name ist behindert; ansonsten, Namen sind
aktiviert. Um zum Beispiel die Test Binärdatei gefunden über die PATH anstatt der
Shell-integrierte Version, führen Sie ``enable -n test'' aus. Der -f Option bedeutet, das neue zu laden
eingebauter Befehl Name vom gemeinsamen Objekt Dateinamen, auf Systemen, die dynamische
Wird geladen. Der -d Option löscht ein eingebautes zuvor geladenes mit -f. Wenn nein
Name Argumente angegeben werden, oder wenn die -p Option wird mitgeliefert, eine Liste von Shell-Builins
gedruckt ist. Ohne weitere Optionsargumente besteht die Liste aus allen aktivierten Shells
eingebaut. Wenn -n geliefert wird, werden nur deaktivierte Einbauten gedruckt. Wenn -a is
geliefert, die gedruckte Liste enthält alle Einbauten, mit Angabe, ob oder
nicht jeder ist aktiviert. Wenn -s versorgt wird, beschränkt sich die Ausgabe auf die POSIX
besondere eingebaut. Der Rückgabewert ist 0, es sei denn, a Name ist keine eingebaute Shell oder
Beim Laden eines neuen Built-Ins von einem Shared Object ist ein Fehler aufgetreten.

eval [arg ...]
Das args werden gelesen und zu einem einzigen Befehl zusammengefügt. Dieser Befehl ist
dann von der Shell gelesen und ausgeführt, und ihr Exit-Status wird als Wert zurückgegeben
of eval. Wenn es keine gibt args, oder nur Nullargumente, eval gibt 0 zurück.

exec [-Kl] [-a Name] [Befehl [Argumente]]
If Befehl angegeben ist, ersetzt es die Shell. Es wird kein neuer Prozess erstellt. Der
Argumente werden die Argumente für Befehl. Wenn der -l Option wird mitgeliefert, die Schale
setzt einen Bindestrich am Anfang des nullten Arguments, das an . übergeben wird Befehl. Dies ist
was login(1) tut. Die -c Option verursacht Befehl mit einem leeren ausgeführt werden
Umgebung. Wenn -a geliefert wird, die Schale geht Name als nulltes Argument zu
der ausgeführte Befehl. Wenn Befehl kann aus irgendeinem Grund nicht ausgeführt werden,
interaktive Shell beendet, es sei denn, die Ausführung Shell-Option ist aktiviert. Darin
Fall gibt es Fehler zurück. Eine interaktive Shell gibt einen Fehler zurück, wenn die Datei dies nicht kann
ausgeführt werden. Wenn Befehl nicht angegeben ist, werden alle Umleitungen wirksam im
aktuellen Shell, und der Rückgabestatus ist 0. Wenn ein Umleitungsfehler auftritt, wird die
Rückgabestatus ist 1.

wunsch [n]
Veranlasse, dass die Shell mit einem Status von beendet wird n. Wenn n weggelassen wird, ist der Exit-Status
die des zuletzt ausgeführten Befehls. Eine Falle auf EXIT wird vor der Shell ausgeführt
beendet.

exportieren [-fn] [Name[=Wort]] ...
exportieren -p
Die mitgelieferten Namen sind für den automatischen Export in die Umgebung von
anschließend ausgeführte Befehle. Wenn die -f Option ist gegeben, die Namen beziehen sich auf
Funktionen. Wenn nein Namen gegeben sind, oder wenn die -p Option wird mitgeliefert, eine Liste mit Namen
aller exportierten Variablen wird gedruckt. Der -n Option bewirkt, dass die Export-Eigenschaft
von jedem entfernt werden Name. Wenn auf einen Variablennamen = . folgtWort, der Wert von
die Variable wird auf gesetzt Wort. exportieren gibt einen Exit-Status von 0 zurück, es sei denn, ein ungültiger
Option angetroffen wird, eine der Namen kein gültiger Shell-Variablenname ist, oder -f
wird geliefert mit a Name das ist keine Funktion.

fc [-e Email] [-lnr] [zuerst] [letzte]
fc -s [Klaps=Vertreter] [cmd]
Das erste Formular wählt eine Reihe von Befehlen aus zuerst zu letzte aus der Verlaufsliste
und zeigt oder bearbeitet sie und führt sie erneut aus. Vorname und letzte kann als a . angegeben werden
string (um den letzten Befehl zu finden, der mit diesem String beginnt) oder als Zahl (an
index in die History-Liste, wobei eine negative Zahl als Offset vom
aktuelle Befehlsnummer). Wenn letzte wird nicht angegeben, es wird auf den aktuellen Befehl gesetzt
zum Auflisten (damit ``fc -l -10'' die letzten 10 Befehle ausgibt) und zu zuerst
Andernfalls. Ob zuerst wird nicht angegeben, es wird auf den vorherigen Befehl zum Bearbeiten gesetzt
und -16 für die Auflistung.

Das -n Option unterdrückt die Befehlsnummern beim Auflisten. Der -r Option kehrt sich um
die Reihenfolge der Befehle. Wenn die -l Option gegeben ist, sind die Befehle aufgelistet auf
Standardausgabe. Ansonsten der Herausgeber von Email wird für eine Datei aufgerufen
die diese Befehle enthält. Wenn Email ist nicht gegeben, der Wert der FCEDIT Variable
verwendet wird und der Wert von EDITOR if FCEDIT ist nicht eingestellt. Wenn keine Variable gesetzt ist,
vi wird genutzt. Wenn die Bearbeitung abgeschlossen ist, werden die bearbeiteten Befehle als Echo ausgegeben und ausgeführt.

In der zweiten Form, Befehl wird nach jeder Instanz von . erneut ausgeführt Klaps ist ersetzt
by Vertreter. Befehl wird gleich interpretiert wie zuerst Oben. Ein nützlicher Alias ​​für die Verwendung mit
dies ist ``r="fc -s"'', so dass die Eingabe von ``r cc'' den letzten Befehl ausführt, beginnend mit
``cc'' und die Eingabe von ``r'' führt den letzten Befehl erneut aus.

Wenn die erste Form verwendet wird, ist der Rückgabewert 0, es sei denn, eine ungültige Option ist
begegnet oder zuerst or letzte Geben Sie Verlaufszeilen außerhalb des zulässigen Bereichs an. Wenn die -e zu erhalten
geliefert wird, ist der Rückgabewert der Wert des zuletzt ausgeführten Befehls oder des Fehlers
wenn ein Fehler mit der temporären Befehlsdatei auftritt. Wenn die zweite Form ist
verwendet, ist der Rückgabestatus der des erneut ausgeführten Befehls, es sei denn cmd nicht
Geben Sie eine gültige Verlaufszeile an, in diesem Fall fc gibt Fehler zurück.

fg [Stellenbeschreibung]
Lebenslauf Stellenbeschreibung im Vordergrund, und machen Sie es zum aktuellen Job. Wenn Stellenbeschreibung ist nicht
Gegenwart, die Vorstellung der Muschel von der Strom Job wird genutzt. Der Rückgabewert ist, dass
des Befehls in den Vordergrund gestellt, oder Fehler, wenn er ausgeführt wird, wenn die Jobsteuerung
deaktiviert oder bei Ausführung mit aktivierter Auftragssteuerung, wenn Stellenbeschreibung gibt kein gültiges an
Job oder Stellenbeschreibung gibt einen Job an, der ohne Jobsteuerung gestartet wurde.

Getopte optstring Name [args]
Getopte wird von Shell-Prozeduren verwendet, um Positionsparameter zu analysieren. optstring
enthält die zu erkennenden Optionszeichen; wenn auf ein Zeichen ein a . folgt
Doppelpunkt, wird erwartet, dass die Option ein Argument enthält, das von getrennt werden sollte
es durch Leerzeichen. Der Doppelpunkt und das Fragezeichen dürfen nicht verwendet werden als
Optionszeichen. Jedes Mal, wenn es aufgerufen wird, Getopte setzt die nächste Option in die
Shell-Variable Name, initialisieren Name falls nicht vorhanden, und der Index der
nächstes Argument, das in die Variable verarbeitet werden soll Opt. Opt wird auf 1 initialisiert
jedes Mal, wenn die Shell oder ein Shell-Skript aufgerufen wird. Wenn eine Option ein erfordert
Streit, Getopte fügt dieses Argument in die Variable ein OPTARG. Die Schale macht
nicht zurückgesetzt Opt automatisch; es muss zwischen mehreren Anrufen an . manuell zurückgesetzt werden
Getopte innerhalb desselben Shell-Aufrufs, wenn ein neuer Parametersatz verwendet werden soll.

Wenn das Ende der Optionen erreicht wird, Getopte endet mit einem Rückgabewert größer
als null. Opt auf den Index des ersten Nicht-Optionsarguments gesetzt wird und Name
ist eingestellt auf ?.

Getopte parst normalerweise die Positionsparameter, aber wenn mehr Argumente angegeben werden
in args, Getopte parst diese stattdessen.

Getopte kann Fehler auf zwei Arten melden. Wenn das erste Zeichen von optstring ist eine
Doppelpunkt, still Fehlermeldung verwendet wird. Im Normalbetrieb Diagnosemeldungen
werden ausgegeben, wenn ungültige Optionen oder fehlende Optionsargumente gefunden werden. Wenn
Die Variable OPTERR auf 0 gesetzt ist, werden keine Fehlermeldungen angezeigt, auch wenn die
erstes Zeichen von optstring ist kein Doppelpunkt.

Wenn eine ungültige Option angezeigt wird, Getopte setzt ? hinein Name und, wenn nicht still, druckt
eine Fehlermeldung und Unsets OPTARG. Wenn Getopte schweigt, das Optionszeichen
gefunden wird eingefügt OPTARG und es wird keine Diagnosemeldung gedruckt.

Wenn ein erforderliches Argument nicht gefunden wird, und Getopte ist nicht still, ein Fragezeichen (?)
wird in platziert Name, OPTARG deaktiviert und eine Diagnosemeldung wird gedruckt. Wenn
Getopte schweigt, dann ein Doppelpunkt (:) eingefügt wird Name und OPTARG wird auf die eingestellte
Optionszeichen gefunden.

Getopte gibt true zurück, wenn eine Option, angegeben oder nicht angegeben, gefunden wird. Es kehrt zurück
false, wenn das Ende der Optionen erreicht wird oder ein Fehler auftritt.

Hash- [-lr] [-p Dateinamen] [-DT] [Name]
Jedes Mal Hash- aufgerufen wird, der vollständige Pfadname des Befehls Name wird bestimmt durch
Durchsuchen der Verzeichnisse in $ PATH und erinnert. Alle zuvor erinnerten
Pfadname wird verworfen. Wenn die -p Option angegeben ist, wird keine Pfadsuche durchgeführt,
und Dateinamen wird als vollständiger Dateiname des Befehls verwendet. Die -r Option verursacht die
Shell, um alle gespeicherten Orte zu vergessen. Die -d Option bewirkt, dass die Shell vergisst
die gespeicherte Position von jedem Name. Wenn der -t Option geliefert wird, die volle
Pfadname, zu dem jeder Name entspricht wird gedruckt. Wenn mehrere Name Argumente sind
geliefert mit -t, der Name wird vor dem gehashten vollständigen Pfadnamen gedruckt. Die -l
bewirkt, dass die Ausgabe in einem Format angezeigt wird, das als Eingabe wiederverwendet werden kann. Wenn
keine Argumente angegeben werden, oder wenn nur -l geliefert wird, Informationen über erinnert
Befehle gedruckt. Der Rückgabestatus ist wahr, es sei denn a Name nicht gefunden wird oder ein
ungültige Option angegeben.

Hilfe [-dms] [Anleitungen]
Hilfreiche Informationen zu integrierten Befehlen anzeigen. Wenn Anleitungen angegeben, Hilfe
gibt detaillierte Hilfe zu allen passenden Befehlen Anleitungen; ansonsten hilfe für alle
Builtins und Shell-Kontrollstrukturen werden gedruckt.
-d Zeigen Sie jeweils eine kurze Beschreibung an Anleitungen
-m Zeigen Sie jeweils die Beschreibung an Anleitungen in einem Manpage-ähnlichen Format
-s Zeigen Sie jeweils nur eine kurze Zusammenfassung der Verwendung an Anleitungen

Der Rückgabestatus ist 0, es sei denn, kein Befehl passt Anleitungen.

Geschichte [n]
Geschichte -c
Geschichte -d Offset
Geschichte -anrw [Dateinamen]
Geschichte -p arg [arg ...]
Geschichte -s arg [arg ...]
Ohne Optionen wird die Befehlsverlaufsliste mit Zeilennummern angezeigt. Linien aufgeführt
mit * wurden modifiziert. Ein Argument von n listet nur die letzten auf n Linien. Wenn die
Shell-Variable HISTZEITFORMAT gesetzt und nicht null ist, wird es als Formatstring verwendet
für strftime(3) um den Zeitstempel anzuzeigen, der jedem angezeigten Verlauf zugeordnet ist
Eintrag. Zwischen dem formatierten Zeitstempel und dem wird kein Leerzeichen gedruckt
Geschichte Linie. Wenn Dateinamen geliefert wird, wird er als Name der Verlaufsdatei verwendet;
wenn nicht, der Wert von HISTATEI wird genutzt. Optionen, falls vorhanden, haben Folgendes
Bedeutungen:
-c Löschen Sie die Verlaufsliste, indem Sie alle Einträge löschen.
-d Offset
Löschen Sie den Verlaufseintrag an Position Offset.
-a Hängen Sie die „neuen“ Verlaufszeilen an (seit Beginn eingegebene Verlaufszeilen).
des Stroms bash Sitzung) in die Verlaufsdatei.
-n Lesen Sie die noch nicht gelesenen History-Zeilen aus der History-Datei in die
aktuelle Historienliste. Dies sind Zeilen, die seitdem an die Verlaufsdatei angehängt werden
der Anfang des Stroms bash Session.
-r Lesen Sie den Inhalt der Verlaufsdatei und hängen Sie ihn an den aktuellen Verlauf an
Liste.
-w Schreiben Sie die aktuelle Verlaufsliste in die Verlaufsdatei und überschreiben Sie den Verlauf
Inhalt der Datei.
-p Führen Sie eine Verlaufsersetzung für Folgendes durch args und zeigen Sie das Ergebnis an
die Standardausgabe. Speichert die Ergebnisse nicht in der Verlaufsliste. Jeder
arg muss in Anführungszeichen gesetzt werden, um die normale Verlaufserweiterung zu deaktivieren.
-s Speichern Sie die args in der Verlaufsliste als Einzeleintrag. Der letzte Befehl in
die Verlaufsliste wird vor dem entfernt args sind hinzugefügt.

Besitzt das HISTZEITFORMAT Variable gesetzt ist, die Zeitstempelinformationen zugeordnet
jeder Verlaufseintrag wird in die Verlaufsdatei geschrieben und mit dem Verlaufskommentar gekennzeichnet
Charakter. Wenn die Verlaufsdatei gelesen wird, beginnen die Zeilen mit dem Verlaufskommentar
Zeichen, unmittelbar gefolgt von einer Ziffer, werden als Zeitstempel für die interpretiert
vorherige Geschichtslinie. Der Rückgabewert ist 0, es sei denn, es handelt sich um eine ungültige Option
aufgetreten, beim Lesen oder Schreiben der Verlaufsdatei tritt ein Fehler auf, eine ungültige
Offset wird als Argument geliefert -d, oder die als
Argument zwei -p fehlschlägt.

Jobs & Karriere [-lnprs] [ Stellenbeschreibung ... ]
Jobs & Karriere -x Befehl [ args ... ]
Das erste Formular listet die aktiven Jobs auf. Die Optionen haben folgende Bedeutung:
-l Prozess-IDs zusätzlich zu den normalen Informationen auflisten.
-n Zeigen Sie nur Informationen zu Jobs an, deren Status sich seit dem Benutzer geändert hat
zuletzt über ihren Status informiert wurde.
-p Listen Sie nur die Prozess-ID des Prozessgruppenleiters des Jobs auf.
-r Nur laufende Jobs anzeigen.
-s Nur gestoppte Jobs anzeigen.

If Stellenbeschreibung angegeben ist, beschränkt sich die Ausgabe auf Informationen zu diesem Job. Die
Der Rückgabestatus ist 0, es sei denn, es wird eine ungültige Option oder eine ungültige Option gefunden Stellenbeschreibung is
geliefert.

Besitzt das -x Option wird geliefert, Jobs & Karriere ersetzt irgendwelche Stellenbeschreibung gefunden in Befehl or args
mit der entsprechenden Prozessgruppen-ID und wird ausgeführt Befehl weitergeben args,
Rückgabe des Exit-Status.

töten [-s sigspez | -n Schild | -sigspez] [pid | Stellenbeschreibung] ... ...
töten -l [sigspez | Ausgangsstatus]
Senden Sie das Signal mit dem Namen von sigspez or Schild zu den von benannten Prozessen pid or
Stellenbeschreibung. sigspez ist entweder ein Signalname, bei dem die Groß-/Kleinschreibung nicht beachtet wird, z SIGKILL (mit oder
ohne das SIG Präfix) oder eine Signalnummer; Schild ist eine Signalzahl. Wenn sigspez
nicht vorhanden ist, dann ZIELLAUFZEIT wird angenommen. Ein Argument von -l listet die Signalnamen auf.
Wenn Argumente angegeben werden, wann -l gegeben ist, die Namen der Signale
Die entsprechenden Argumente werden aufgelistet, und der Rückgabestatus ist 0. Die
Ausgangsstatus Argument zwei -l ist eine Zahl, die entweder eine Signalnummer oder die angibt
Exit-Status eines durch ein Signal beendeten Prozesses. töten gibt true zurück, wenn mindestens einer
Signal erfolgreich gesendet wurde, oder false wenn ein Fehler auftritt oder eine ungültige Option ist
angetroffen.

lassen arg [arg ...]
. arg ist ein auszuwertender arithmetischer Ausdruck (vgl ARITHMETIK BEWERTUNG
Oben). Wenn das letzte arg wertet zu 0 aus, lassen gibt 1 zurück; Andernfalls wird 0 zurückgegeben.

aus einer regionalen [zu erhalten] [Name[=Wert] ...]
Für jedes Argument eine lokale Variable mit dem Namen Name erstellt und zugeordnet Wertdem „Vermischten Geschmack“. Seine
zu erhalten kann jede der Optionen sein, die von akzeptiert werden erklären. Wenn aus einer regionalen wird innerhalb von a verwendet
Funktion, bewirkt es die Variable Name einen sichtbaren Bereich darauf beschränkt zu haben
Funktion und ihre Kinder. Ohne Operanden, aus einer regionalen schreibt eine Liste der lokalen
Variablen zur Standardausgabe. Es ist ein Fehler zu verwenden aus einer regionalen wenn nicht innerhalb von a
Funktion. Der Rückgabestatus ist 0, es sei denn aus einer regionalen wird außerhalb einer Funktion verwendet, an
ungültig Name geliefert wird bzw Name ist eine schreibgeschützte Variable.

Abmeldung Verlassen Sie eine Login-Shell.

Kartendatei [-n zählen] [-O Herkunft] [-s zählen] [-t] [-u fd] [-C callback ] [-c Quanten-] [Array]
Lesearray [-n zählen] [-O Herkunft] [-s zählen] [-t] [-u fd] [-C callback ] [-c Quanten-]
[Array]
Liest Zeilen von der Standardeingabe in die indizierte Array-Variable ein ArrayOder aus
Dateideskriptor fd wenn die -u Option geliefert. Die Variable KARTENDATEI lernen muss die
Standard Array. Optionen, sofern vorhanden, haben folgende Bedeutung:
-n Höchstens kopieren zählen Linien. Wenn zählen 0 ist, werden alle Zeilen kopiert.
-O Beginnen Sie mit der Zuweisung zu Array am Index Herkunft. Der Standardindex ist 0.
-s Verwerfen Sie die erste zählen Zeilen gelesen.
-t Entfernen Sie einen abschließenden Zeilenumbruch aus jeder gelesenen Zeile.
-u Liest Zeilen aus dem Dateideskriptor fd statt der Standardeingabe.
-C Bewerten callback jedesmal Quanten- Zeilen werden gelesen. Die -c Option gibt an
Quanten-.
-c Geben Sie die Anzahl der gelesenen Zeilen zwischen jedem Aufruf an an callback .

If -C ist angegeben ohne -c, ist das Standardquantum 5000. Wann callback is
ausgewertet, wird der Index des nächsten zuzuweisenden Array-Elements geliefert und
die diesem Element zuzuweisende Zeile als zusätzliche Argumente. callback is
wird nach dem Lesen der Zeile, aber vor der Zuweisung des Array-Elements ausgewertet.

Wenn nicht mit expliziter Herkunft geliefert, Kartendatei wird klar Array vor dem Zuweisen
verbunden.

Kartendatei kehrt erfolgreich zurück, es sei denn, eine ungültige Option oder ein ungültiges Optionsargument ist
geliefert, Array ungültig oder nicht zuordenbar ist, oder wenn Array ist kein indiziertes Array.

popd [-n] [+n] [-n]
Entfernt Einträge aus dem Verzeichnisstapel. Ohne Argumente wird die Spitze entfernt
Verzeichnis aus dem Stack und führt a cd in das neue oberste Verzeichnis. Argumente,
falls vorhanden, haben folgende Bedeutung:
-n Unterdrückt den normalen Verzeichniswechsel beim Entfernen von Verzeichnissen aus der
Stack, sodass nur der Stack manipuliert wird.
+n Entfernt die nEintrag von links in der Liste gezählt, die durch angezeigt wird dirs,
beginnend mit null. Zum Beispiel: ``popd +0'' entfernt das erste Verzeichnis,
``popd +1'' die zweite.
-n Entfernt die nEintrag gezählt von rechts in der Liste, die durch angezeigt wird dirs,
beginnend mit null. Zum Beispiel: ``popd -0'' entfernt das letzte Verzeichnis,
``popd -1'' das vorletzte.

Besitzt das popd Befehl erfolgreich ist, a dirs wird auch durchgeführt, und die Rückkehr
Status ist 0. popd gibt false zurück, wenn eine ungültige Option gefunden wird, das Verzeichnis
Stack leer ist, ein nicht vorhandener Verzeichnis-Stack-Eintrag angegeben ist oder das Verzeichnis
Änderung scheitert.

printf [-v jung] Format [Argumente]
Schreiben Sie die formatierte Argumente zur Standardausgabe unter der Kontrolle von
Formatdem „Vermischten Geschmack“. Seine -v Option bewirkt, dass der Ausgang der Variablen zugewiesen wird jung lieber
als auf die Standardausgabe gedruckt werden.

Das Format ist eine Zeichenfolge, die drei Arten von Objekten enthält: einfach
Zeichen, die einfach auf die Standardausgabe kopiert werden, Zeichen-Escape-Sequenzen,
die konvertiert und in die Standardausgabe kopiert werden, und Formatangaben,
von denen jeder das Drucken des nächstfolgenden bewirkt Argument. In Ergänzung zu
Standard printf(1) Formatspezifikationen, printf interpretiert folgendes
Erweiterungen:
%b Ursachen printf zum Erweitern von Backslash-Escape-Sequenzen im entsprechenden
Argument (außer dass \c Beendet die Ausgabe, Backslashes in \', \" und \?
werden nicht entfernt und Oktal entweicht beginnend mit \0 kann bis zu vier enthalten
Ziffern).
%q Ursachen printf um das entsprechende auszugeben Argument in einem Format, das sein kann
als Shell-Eingabe wiederverwendet.
%(Datumsfmt)T
Ursachen printf um den Datum-Uhrzeit-String auszugeben, der sich aus der Verwendung ergibt Datumsfmt as
eine Formatzeichenfolge für strftime(3). Die entsprechende Argument ist eine ganze Zahl
die Anzahl der Sekunden seit der Epoche darstellt. Zwei besondere Argumente
Werte können verwendet werden: -1 steht für die aktuelle Zeit und -2 steht für die
wann die Shell aufgerufen wurde. Wenn kein Argument angegeben ist, verhält sich die Konvertierung
als ob -1 gegeben worden wäre. Dies ist eine Ausnahme vom Üblichen printf Verhalten.

Argumente für Formatbezeichner, die keine Zeichenfolgen sind, werden als C-Konstanten behandelt, mit der Ausnahme, dass a
führendes Plus- oder Minuszeichen ist zulässig, und wenn das führende Zeichen ein einzelnes oder ist
Anführungszeichen, der Wert ist der ASCII-Wert des folgenden Zeichens.

Das Format wird nach Bedarf wiederverwendet, um alle zu verbrauchen Argumente. Wenn der Format
erfordert mehr Argumente als geliefert werden, verhalten sich die extra Formatangaben
als ob je nach Bedarf ein Nullwert oder eine Nullzeichenfolge bereitgestellt worden wäre. Die Rückkehr
Der Wert ist bei Erfolg null, bei einem Fehler ungleich null.

pushd [-n] [+n] [-n]
pushd [-n] [dir]
Fügt ein Verzeichnis am Anfang des Verzeichnisstapels hinzu oder rotiert den Stapel, wodurch
die neue Spitze des Stapels das aktuelle Arbeitsverzeichnis. Ohne Argumente,
tauscht die obersten zwei Verzeichnisse aus und gibt 0 zurück, es sei denn, der Verzeichnisstapel ist es
leer. Argumente, sofern angegeben, haben die folgenden Bedeutungen:
-n Unterdrückt den normalen Verzeichniswechsel beim Hinzufügen von Verzeichnissen zur
Stack, sodass nur der Stack manipuliert wird.
+n Dreht den Stapel so, dass die nVerzeichnis (von links gezählt von der
Liste angezeigt von dirs, beginnend mit Null) steht ganz oben.
-n Dreht den Stapel so, dass die nVerzeichnis (von rechts gezählt von der
Liste angezeigt von dirs, beginnend mit Null) steht ganz oben.
dir Fügt dir in den Verzeichnisstapel ganz oben, wodurch es zum neuen aktuellen wird
Arbeitsverzeichnis so, als ob es als Argument an die übergeben worden wäre cd
eingebaut.

Besitzt das pushd Befehl erfolgreich ist, a dirs wird ebenfalls durchgeführt. Wenn die erste Form
wird genutzt, pushd gibt 0 zurück, es sei denn, die CD zu dir scheitert. Mit der zweiten Form pushd
gibt 0 zurück, es sei denn, der Verzeichnisstapel ist leer, ein nicht vorhandener Verzeichnisstapel
-Element angegeben ist, oder der Verzeichniswechsel zum angegebenen neuen aktuellen
Verzeichnis schlägt fehl.

pwd [-LP]
Gibt den absoluten Pfadnamen des aktuellen Arbeitsverzeichnisses aus. Der Pfadname gedruckt
enthält keine symbolischen Links, wenn die -P Option geliefert wird oder die -o physikalisch zu erhalten
zu den kompensieren Der eingebaute Befehl ist aktiviert. Wenn die -L Option verwendet wird, der Pfadname
Gedruckte können symbolische Links enthalten. Der Rückgabestatus ist 0, sofern kein Fehler auftritt
beim Lesen des Namens des aktuellen Verzeichnisses oder eine ungültige Option angegeben wird.

lesen [-er] [-a ein Name] [-d delim] [-i Text] [-n nchars] [-N nchars] [-p Eingabeaufforderung] [-t
Timeout] [-u fd] [Name ...]
Eine Zeile wird von der Standardeingabe oder vom Dateideskriptor gelesen fd geliefert
als Argument für die -u Option, und das erste Wort wird dem ersten zugewiesen Name,
das zweite Wort zum zweiten Name, und so weiter, mit übrig gebliebenen Wörtern und deren
dazwischenliegende Trennzeichen dem letzten zugeordnet Name. Wenn weniger Wörter gelesen werden
aus dem Eingabestrom als Namen, den verbleibenden Namen werden leere Werte zugewiesen.
Die Zeichen in IFS werden verwendet, um die Zeile nach denselben Regeln in Wörter aufzuteilen
die Shell zur Erweiterung verwendet (oben beschrieben unter Word Spaltung). Der Backslash
Zeichen (\) kann verwendet werden, um jede besondere Bedeutung für das nächste gelesene Zeichen zu entfernen
und für Zeilenfortsetzung. Optionen, sofern vorhanden, haben folgende Bedeutung:
-a ein Name
Die Wörter werden fortlaufenden Indizes der Array-Variablen zugewiesen ein Name,
ab 0. ein Name wird zurückgesetzt, bevor neue Werte zugewiesen werden. Andere
Name Argumente werden ignoriert.
-d delim
Das erste Zeichen von delim wird vielmehr verwendet, um die Eingabeleitung abzuschließen
als Zeilenumbruch.
-e Wenn die Standardeingabe von einem Terminal kommt, readline (sehen ZEILE LESEN
oben) wird verwendet, um die Linie zu erhalten. Readline verwendet die aktuelle (oder Standard-,
wenn die Linienbearbeitung vorher nicht aktiv war) Bearbeitungseinstellungen.
-i Text
If readline wird verwendet, um die Zeile zu lesen, Text wird in die Bearbeitung gestellt
zwischenspeichern, bevor die Bearbeitung beginnt.
-n nchars
lesen kehrt nach dem Lesen zurück nchars Zeichen, anstatt auf a zu warten
vollständige Eingabezeile, aber ein Trennzeichen beachten, wenn weniger als nchars
Zeichen werden vor dem Trennzeichen gelesen.
-N nchars
lesen kehrt nach genauem Lesen zurück nchars Zeichen, anstatt zu warten
eine vollständige Eingabezeile, es sei denn, EOF wird angetroffen oder lesen Die Zeit ist abgelaufen.
Trennzeichen, die in der Eingabe auftreten, werden nicht besonders behandelt und
verursache nicht lesen zurückkehren bis nchars Zeichen werden gelesen.
-p Eingabeaufforderung
Display Eingabeaufforderung auf Standardfehler, ohne nachgestellten Zeilenumbruch, davor
versucht, eine Eingabe zu lesen. Die Eingabeaufforderung wird nur angezeigt, wenn die Eingabe erfolgt ist
kommt von einem Terminal.
-r Backslash fungiert nicht als Escape-Zeichen. Der Backslash wird berücksichtigt
Teil der Linie zu sein. Insbesondere ein Backslash-Newline-Paar darf es nicht sein
als Zeilenfortsetzung verwendet.
-s Silent-Modus. Wenn die Eingabe von einem Terminal kommt, werden Zeichen nicht zurückgemeldet.
-t Timeout
Verursachen lesen um eine Zeitüberschreitung und einen Fehler zurückzugeben, wenn eine vollständige Eingabezeile (oder a
angegebene Anzahl von Zeichen) wird nicht gelesen Timeout Sekunden. Timeout
kann eine Dezimalzahl mit einem Bruchteil nach dem Dezimalzeichen sein
Punkt. Diese Option ist nur wirksam, wenn lesen liest Eingaben von a
Terminal-, Pipe- oder andere spezielle Dateien; es hat keine Wirkung beim Lesen von
normale Dateien. Wenn lesen Die Zeit ist abgelaufen, lesen speichert jede teilweise eingelesene Eingabe
die angegebene Variable Name. Wenn Timeout ist 0, lesen kehrt sofort zurück,
ohne zu versuchen, irgendwelche Daten zu lesen. Der Exit-Status ist 0, wenn eine Eingabe verfügbar ist
auf dem angegebenen Dateideskriptor, andernfalls ungleich Null. Der Exit-Status ist
größer als 128, wenn das Timeout überschritten wird.
-u fd Lesen Sie die Eingabe aus dem Dateideskriptor fd.

Wenn nein Namen versorgt werden, wird die gelesene Zeile der Variablen zugewiesen ANTWORTENdem „Vermischten Geschmack“. Seine
Rückgabecode ist null, es sei denn, das Dateiende wird erreicht, lesen Zeitüberschreitung (in welcher
Falls der Rückkehrcode größer als 128 ist), ein Variablenzuweisungsfehler (wie z
Zuweisung an eine schreibgeschützte Variable) auftritt oder ein ungültiger Dateideskriptor angegeben wird
als Argument dafür -u.

schreibgeschützt [-aAf] [-p] [Name[=Wort] ...]
Das Gegebene Namen sind als schreibgeschützt gekennzeichnet; die Werte dieser Namen dürfen nicht geändert werden
durch nachträgliche Beauftragung. Wenn die -f Option geliefert wird, die Funktionen
entsprechend der Namen sind so gekennzeichnet. Die -a Option beschränkt die Variablen auf
indizierte Arrays; der -A Option beschränkt die Variablen auf assoziative Arrays. Wenn
beide Optionen werden geliefert, -A hat Vorrang. Wenn nein Name Argumente werden gegeben, oder
wenn die -p Option angegeben ist, wird eine Liste aller schreibgeschützten Namen gedruckt. Das andere
Optionen können verwendet werden, um die Ausgabe auf eine Teilmenge der schreibgeschützten Gruppe zu beschränken
Namen. Die -p bewirkt, dass die Ausgabe in einem Format angezeigt wird, das wiederverwendet werden kann
als Eingang. Wenn einem Variablennamen ein = folgtWort, der Wert der Variablen ist
einstellen Wort. Der Rückgabestatus ist 0, es sei denn, es wird eine ungültige Option gefunden, eins
dauert ebenfalls 3 Jahre. Das erste Jahr ist das sog. Namen kein gültiger Shell-Variablenname ist, oder -f wird geliefert mit a Name zur Verbesserung der Gesundheitsgerechtigkeit
ist keine Funktion.

Rückkehr [n]
Bewirkt, dass eine Funktion die Ausführung beendet und den durch angegebenen Wert zurückgibt n seinen
Anrufer. Wenn n weggelassen wird, ist der Rückgabestatus der des zuletzt ausgeführten Befehls in
der Funktionskörper. Wenn Rückkehr wird außerhalb einer Funktion verwendet, aber während der Ausführung von a
Skript von der . (Quelle) Befehl, bewirkt dies, dass die Shell die Ausführung dieses Befehls beendet
script und entweder zurückgeben n oder der Exit-Status des letzten darin ausgeführten Befehls
das Skript als Exit-Status des Skripts. Wenn n geliefert wird, ist der Rückgabewert
seine niederwertigsten 8 Bits. Der Rückgabestatus ist ungleich Null, wenn Rückkehr ist versorgt
ein nicht numerisches Argument oder außerhalb einer Funktion und nicht während der Ausführung von a verwendet wird
Drehbuch von . or Quelle. Jeder Befehl, der mit dem verknüpft ist RÜCKKEHR Falle wird ausgeführt
bevor die Ausführung nach der Funktion oder dem Skript fortgesetzt wird.

kompensieren [--abefhkmnptuvxBCEHPT] [-o Optionsname] [arg ...]
kompensieren [+abefhkmnptuvxBCEHPT] [+o Optionsname] [arg ...]
Ohne Optionen werden Name und Wert jeder Shell-Variablen in a angezeigt
Format, das als Eingabe zum Setzen oder Zurücksetzen des aktuell eingestellten Werts wiederverwendet werden kann
Variablen. Nur-Lese-Variablen können nicht zurückgesetzt werden. Im POSIX Modus, nur Shell
Variablen aufgelistet. Die Ausgabe wird nach dem aktuellen Gebietsschema sortiert. Wann
Optionen werden angegeben, sie setzen oder setzen Shell-Attribute. Alle verbleibenden Argumente
nach der Optionsverarbeitung werden als Werte für die Positionsparameter behandelt und sind
zugeordnet, in der Reihenfolge, zu $1, $2, ... $n. Optionen haben, falls angegeben, Folgendes
Bedeutungen:
-a Markieren Sie automatisch Variablen und Funktionen, die geändert oder erstellt werden
für den Export in die Umgebung nachfolgender Befehle.
-b Melden Sie den Status beendeter Hintergrundjobs sofort, anstatt
vor der nächsten primären Eingabeaufforderung. Dies ist nur wirksam, wenn die Auftragssteuerung aktiviert ist
aktiviert.
-e Verlassen Sie sofort, wenn a Pipeline (die aus einem einzigen bestehen kann einfach
Befehl), Eine Liste, Oder ein Verbindung Befehl (sehen SHELL GRAMMATIK oben), Ausgänge
mit einem Nicht-Null-Status. Die Shell wird nicht beendet, wenn der Befehl fehlschlägt
ist Teil der Befehlsliste unmittelbar nach a während or bis Stichwort,
Teil des Tests im Anschluss an die if or elif reservierte Wörter, Teil von jedem
Befehl ausgeführt in a && or || Liste mit Ausnahme des Befehls nach dem Finale
&& or ||, jeder Befehl in einer Pipeline außer dem letzten oder wenn der Befehl
Rückgabewert wird mit invertiert !. Wenn ein anderer zusammengesetzter Befehl als a
Subshell gibt einen Nicht-Null-Status zurück, weil ein Befehl währenddessen fehlgeschlagen ist -e wurde
ignoriert wird, wird die Shell nicht beendet. Eine Falle auf ERR, falls gesetzt, wird ausgeführt
bevor die Shell beendet wird. Diese Option gilt für die Shell-Umgebung und
jede Subshell-Umgebung separat (siehe COMMAND EXECUTION
oben) und kann dazu führen, dass Subshells beendet werden, bevor alle Befehle ausgeführt werden
in der Unterschale.

Wenn ein zusammengesetzter Befehl oder eine Shell-Funktion in einem Kontext ausgeführt wird, in dem -e is
ignoriert wird, wird keiner der Befehle innerhalb des zusammengesetzten Befehls oder ausgeführt
Funktion Körper wird durch die betroffen sein -e Einstellung, auch wenn -e eingestellt ist und a
Befehl gibt einen Fehlerstatus zurück. Wenn es sich um einen zusammengesetzten Befehl oder eine Shell-Funktion handelt
Sets -e während der Ausführung in einem Kontext wo -e ignoriert wird, wird diese Einstellung
haben keine Wirkung, bis der zusammengesetzte Befehl oder der Befehl enthält
Der Funktionsaufruf wird abgeschlossen.
-f Deaktivieren Sie die Pfadnamenerweiterung.
-h Erinnern Sie sich an die Position von Befehlen, wenn sie zur Ausführung nachgeschlagen werden.
Dies ist standardmäßig aktiviert.
-k Alle Argumente in Form von Zuweisungsanweisungen werden in die platziert
Umgebung für einen Befehl, nicht nur die, die dem Befehlsnamen vorangestellt sind.
-m Überwachungsmodus. Die Auftragssteuerung ist aktiviert. Diese Option ist standardmäßig aktiviert für
interaktive Shells auf Systemen, die dies unterstützen (siehe JOB STEUERN Oben). Alle
Prozesse werden in einer separaten Prozessgruppe ausgeführt. Bei einem Hintergrundjob
abgeschlossen ist, gibt die Shell eine Zeile aus, die ihren Exit-Status enthält.
-n Befehle lesen, aber nicht ausführen. Dies kann verwendet werden, um eine Shell zu überprüfen
Skript für Syntaxfehler. Dies wird von interaktiven Shells ignoriert.
-o Optionsname
Das Optionsname kann einer der folgenden sein:
Allexport
Das gleiche wie -a.
klammerexpand
Das gleiche wie -B.
Emacs Verwenden Sie eine Befehlszeilen-Bearbeitungsschnittstelle im Emacs-Stil. Dies ist aktiviert
standardmäßig, wenn die Shell interaktiv ist, es sei denn, die Shell ist es
begann mit dem --keine Bearbeitung Möglichkeit. Dies wirkt sich auch auf die Bearbeitung aus
Schnittstelle verwendet für lesen -e.
Fehler Das gleiche wie -e.
Fehler
Das gleiche wie -E.
Funktion
Das gleiche wie -T.
hashall Das gleiche wie -h.
histexpand
Das gleiche wie -H.
Geschichte Aktivieren Sie den Befehlsverlauf, wie oben unter beschrieben GESCHICHTE. Dies
Option ist in interaktiven Shells standardmäßig aktiviert.
ignorieren
Der Effekt ist so, als ob der Shell-Befehl ``IGNOREEOF=10'' gewesen wäre
hingerichtet (vgl Schale Variablen über).
Stichwort Das gleiche wie -k.
Monitor Das gleiche wie -m.
noclobber
Das gleiche wie -C.
noexec Das gleiche wie -n.
noglob Das gleiche wie -f.
nolog Wird derzeit ignoriert.
benachrichtigen Das gleiche wie -b.
Substantiv Das gleiche wie -u.
eincmd Das gleiche wie -t.
physikalisch
Das gleiche wie -P.
Rohrfehler
Wenn gesetzt, ist der Rückgabewert einer Pipeline der Wert der letzten
(ganz rechts) Befehl zum Beenden mit einem Nicht-Null-Status oder Null, wenn alle
Befehle in der Pipeline werden erfolgreich beendet. Diese Option ist
standardmäßig deaktiviert.
POSIX Ändern Sie das Verhalten von bash wo die Standardoperation abweicht
vom POSIX-Standard, um dem Standard zu entsprechen (POSIX Modus). Sehen
SEHEN AUCH unten für einen Verweis auf ein Dokument, das detailliert beschreibt, wie posix
mode beeinflusst das Verhalten von bash.
privilegiert
Das gleiche wie -p.
ausführlich Das gleiche wie -v.
vi Verwenden Sie eine Befehlszeilen-Bearbeitungsschnittstelle im vi-Stil. Dies wirkt sich auch aus
die Bearbeitungsschnittstelle, für die verwendet wird lesen -e.
Xtrace Das gleiche wie -x.
If -o wird geliefert mit Nr Optionsname, die Werte der aktuellen Optionen
sind gedruckt. Wenn +o wird geliefert mit Nr Optionsname, eine Reihe von kompensieren
Befehle zum Wiederherstellen der aktuellen Optionseinstellungen wird auf der angezeigt
Standardausgabe.
-p Einschalten privilegiert Modus. In diesem Modus ist die $SENDEN und $BASH_ENV Dateien
nicht verarbeitet, Shell-Funktionen werden nicht von der Umgebung geerbt, und
Schalentiere, BASHOPTEN, CDPATH und GLOBIGNORE Variablen, falls sie vorkommen
in der Umwelt, werden ignoriert. Wird die Shell mit der
effektive Benutzer-(Gruppen-)ID ungleich der tatsächlichen Benutzer-(Gruppen-)ID, und die -p
Option nicht angegeben ist, werden diese Aktionen ausgeführt und die effektive Benutzer-ID
wird auf die echte Benutzer-ID gesetzt. Wenn die -p Option wird beim Start bereitgestellt, die
effektive Benutzer-ID wird nicht zurückgesetzt. Durch Deaktivieren dieser Option wird die
effektive Benutzer- und Gruppen-IDs auf die tatsächlichen Benutzer- und Gruppen-IDs gesetzt werden.
-t Beenden nach dem Lesen und Ausführen eines Befehls.
-u Nicht gesetzte Variablen und Parameter außer den Sonderparametern "@" behandeln
und "*" als Fehler beim Ausführen der Parametererweiterung. Wenn Erweiterung ist
versucht, eine nicht gesetzte Variable oder einen Parameter zu verwenden, gibt die Shell einen Fehler aus
Nachricht, und wenn es nicht interaktiv ist, wird es mit einem Nicht-Null-Status beendet.
-v Geben Sie Shell-Eingabezeilen aus, während sie gelesen werden.
-x Nach dem Erweitern jeder einfach Befehl, für Befehl, Häuser Befehl, wählen
Befehl oder Arithmetik für Befehl den erweiterten Wert von anzeigen PS4,
gefolgt vom Befehl und seinen erweiterten Argumenten oder der zugehörigen Wortliste.
-B Die Schale führt eine Klammerexpansion durch (vgl Klammer Erweiterung Oben). Das ist an
standardmäßig.
-C Wenn eingestellt, bash überschreibt keine vorhandene Datei mit der >, >& und <>
Weiterleitungsoperatoren. Dies kann beim Erstellen von Ausgabedateien überschrieben werden
durch Verwendung des Umleitungsoperators >| statt >.
-E Wenn gesetzt, jede Falle eingeschaltet ERR wird von Shell-Funktionen geerbt, Befehl
Substitutionen und Befehle, die in einer Subshell-Umgebung ausgeführt werden. Die ERR
trap wird in solchen Fällen normalerweise nicht vererbt.
-H Ermöglichen ! Ersetzung der Stilgeschichte. Diese Option ist standardmäßig aktiviert, wenn
Die Shell ist interaktiv.
-P Wenn gesetzt, löst die Shell beim Ausführen von Befehlen keine symbolischen Links auf
sowie cd die das aktuelle Arbeitsverzeichnis ändern. Es nutzt das Physische
stattdessen Verzeichnisstruktur. Standardmäßig, bash folgt der logischen Kette von
Verzeichnisse, wenn Befehle ausgeführt werden, die das aktuelle Verzeichnis ändern.
-T Wenn gesetzt, alle Fallen eingeschaltet DEBUGGEN und RÜCKKEHR werden von Shell-Funktionen geerbt,
Befehlssubstitutionen und Befehle, die in einer Subshell-Umgebung ausgeführt werden.
Das DEBUGGEN und RÜCKKEHR Fallen werden in solchen Fällen normalerweise nicht vererbt.
-- Wenn auf diese Option keine Argumente folgen, sind es die Positionsparameter
ungesetzt. Andernfalls werden die Positionsparameter auf gesetzt args, auch wenn
manche beginnen mit a -.
- Signalisieren Sie das Ende der Optionen, verursachen Sie alle verbleibenden args zuzuordnen
positionelle Parameter. Die -x und -v Optionen sind ausgeschaltet. Wenn es gibt
nicht args bleiben die Positionsparameter unverändert.

Die Optionen sind standardmäßig deaktiviert, sofern nicht anders angegeben. Verwenden von + statt -
bewirkt, dass diese Optionen deaktiviert werden. Die Optionen können auch als angegeben werden
Argumente für einen Aufruf der Shell. Die aktuellen Optionen können gefunden werden
in $-. Der Rückgabestatus ist immer wahr, es sei denn, es wird eine ungültige Option gefunden.

verschieben [n]
Die Positionsparameter aus n+1 ... werden umbenannt in $1 .... Parameter
durch die Zahlen dargestellt $# bis zu $#-n+1 sind nicht gesetzt. n muss nicht negativ sein
Zahl kleiner oder gleich $#. Wenn n 0 ist, werden keine Parameter geändert. Wenn n is
nicht gegeben, wird angenommen, dass es 1 ist. Wenn n größer ist als $#, die Position
Parameter werden nicht verändert. Der Rückgabestatus ist größer als Null, wenn n ist besser
als $# oder weniger als null; sonst 0.

einkaufen [-pqsu] [-o] [Optname ...]
Schalten Sie die Werte der Einstellungen um, die das optionale Shell-Verhalten steuern. Einstellungen
können entweder die unten aufgeführten sein, oder, wenn die -o Option verwendet wird, die verfügbaren
an. Nach der Installation können Sie HEIC-Dateien mit der -o Option zum kompensieren eingebauter Befehl. Ohne Optionen oder mit der -p
Option wird eine Liste aller einstellbaren Optionen angezeigt, mit Angabe, ob
oder nicht jeweils eingestellt ist. Die -p Option bewirkt, dass die Ausgabe in einer Form angezeigt wird, die dies kann
als Eingabe wiederverwendet werden. Andere Optionen haben folgende Bedeutung:
-s Aktivieren (setzen) Sie jeweils Optname.
-u Deaktivieren (unset) jedes Optname.
-q Unterdrückt die normale Ausgabe (leiser Modus); der Rückgabestatus gibt an, ob
Optname gesetzt oder nicht gesetzt ist. Wenn mehrere Optname Argumente werden mit angegeben
-q, ist der Rückgabestatus null, wenn alle optnames aktiviert sind; nicht null
Andernfalls.
-o Schränkt die Werte von ein Optname diejenigen sein, die für die definiert sind -o Option zum
kompensieren eingebaut.

Wenn entweder -s or -u wird mit Nr. verwendet Optname Argumente, einkaufen zeigt nur diese
Optionen, die gesetzt bzw. nicht gesetzt sind. Sofern nicht anders angegeben, die einkaufen
Optionen sind standardmäßig deaktiviert (nicht gesetzt).

Der Rückgabestatus beim Auflisten von Optionen ist Null, wenn alle optnames aktiviert sind, nicht
null sonst. Beim Setzen oder Deaktivieren von Optionen ist der Rückgabestatus Null
es sei denn, ein Optname ist keine gültige Shell-Option.

Die Liste der einkaufen Optionen ist:

autocd Wenn gesetzt, wird ein Befehlsname, der der Name eines Verzeichnisses ist, so ausgeführt, als ob er es wäre
waren das Argument für die cd Befehl. Diese Option wird nur von verwendet
interaktive Schalen.
cdable_vars
Wenn gesetzt, ein Argument für die cd Eingebauter Befehl, der kein Verzeichnis ist
Es wird angenommen, dass es sich um den Namen einer Variablen handelt, deren Wert das zu ändernde Verzeichnis ist
nach.
cdspell Wenn gesetzt, kleinere Fehler in der Schreibweise einer Verzeichniskomponente in a cd
Befehl wird korrigiert. Die überprüften Fehler werden transponiert
Zeichen, ein fehlendes Zeichen und ein Zeichen zu viel. Wenn ein
Korrektur gefunden, der korrigierte Dateiname ausgegeben und der Befehl
Erlös. Diese Option wird nur von interaktiven Shells verwendet.
Checkhash
Wenn eingestellt, bash überprüft, ob ein in der Hash-Tabelle gefundener Befehl bereits existiert
versucht es auszuführen. Wenn kein gehashter Befehl mehr vorhanden ist, ein normaler Pfad
Suche durchgeführt wird.
Checkjobs
Wenn eingestellt, bash listet den Status aller zuvor gestoppten und laufenden Jobs auf
Verlassen einer interaktiven Shell. Wenn Jobs ausgeführt werden, verursacht dies die
Ausstieg verzögert werden, bis ein zweiter Ausstieg ohne Intervention versucht wird
Befehl (siehe JOB STEUERN Oben). Die Shell verschiebt immer das Beenden, falls vorhanden
Arbeitsplätze werden gestoppt.
checkwinsize
Wenn eingestellt, bash prüft nach jedem Befehl die Fenstergröße und ggf.
aktualisiert die Werte von LINES und COLUMNS.
cmdhist Wenn eingestellt, bash versucht, alle Zeilen eines mehrzeiligen Befehls in der
gleichen Verlaufseintrag. Dies ermöglicht ein einfaches Nachbearbeiten von mehrzeiligen Befehlen.
kompatibel31
Wenn eingestellt, bash ändert sein Verhalten auf das der Version 3.1 in Bezug auf
zitierte Argumente zu den [[ bedingte Befehle =~ Betreiber und Gebietsschema-
spezifischer Zeichenfolgenvergleich bei der Verwendung von [[ bedingte Befehle < und >
Betreiber. Bash-Versionen vor bash-4.1 verwenden ASCII-Sortierung und
strcmp(3); bash-4.1 und höher verwenden die Kollatierungssequenz des aktuellen Gebietsschemas
und strcoll(3).
kompatibel32
Wenn eingestellt, bash ändert sein Verhalten auf das der Version 3.2 in Bezug auf
gebietsschemaspezifischen Zeichenfolgenvergleich bei Verwendung von [[ bedingte Befehle <
und > Operatoren (siehe vorheriger Punkt).
kompatibel40
Wenn eingestellt, bash ändert sein Verhalten auf das der Version 4.0 in Bezug auf
gebietsschemaspezifischen Zeichenfolgenvergleich bei Verwendung von [[ bedingte Befehle <
und > Operatoren (siehe Beschreibung von kompatibel31) und die Wirkung von
Unterbrechung einer Befehlsliste. Bash-Versionen 4.0 und höher unterbrechen die
Liste, als ob die Shell den Interrupt erhalten hätte; frühere Versionen werden fortgesetzt
mit dem nächsten Befehl in der Liste.
kompatibel41
Wenn eingestellt, bash, wenn drin POSIX Modus behandelt ein einfaches Anführungszeichen in doppelten Anführungszeichen
Parametererweiterung als Sonderzeichen. Die einfachen Anführungszeichen müssen übereinstimmen
(eine gerade Zahl) und die Zeichen zwischen den einfachen Anführungszeichen sind
gilt als zitiert. Dies ist das Verhalten des Posix-Modus bis Version 4.1.
Das standardmäßige Bash-Verhalten bleibt wie in früheren Versionen.
kompatibel42
Wenn eingestellt, bash verarbeitet die Ersetzungszeichenfolge im Muster nicht
Substitutionsworterweiterung durch Anführungszeichenentfernung.
Complete_fullquote
Wenn eingestellt, bash setzt alle Shell-Metazeichen in Dateinamen und Verzeichnissen in Anführungszeichen
Namen beim Durchführen der Vervollständigung. Wenn nicht gesetzt, bash entfernt Metazeichen
wie das Dollarzeichen aus der Menge der Zeichen, die in Anführungszeichen gesetzt werden
vervollständigte Dateinamen, wenn diese Metazeichen in der Shell-Variablen erscheinen
Referenzen in Worten zu vervollständigen. Das bedeutet, dass Dollar sich anmeldet
Variablennamen, die in Verzeichnisse expandieren, werden nicht in Anführungszeichen gesetzt; jedoch irgendwelche
Dollarzeichen in Dateinamen werden ebenfalls nicht in Anführungszeichen gesetzt. Das ist
nur aktiv, wenn bash Backslashes verwendet, um vollständige Dateinamen zu zitieren.
Diese Variable ist standardmäßig festgelegt, was das Standardverhalten von Bash in ist
Versionen bis 4.2.
direxpand
Wenn eingestellt, bash ersetzt Verzeichnisnamen durch die Ergebnisse der Worterweiterung
bei der Dateinamenvervollständigung. Dadurch ändert sich der Inhalt der
Readline-Bearbeitungspuffer. Wenn nicht gesetzt, bash versucht zu bewahren, was die
Benutzer eingegeben.
vertreiben
Wenn eingestellt, bash versucht die Rechtschreibung von Verzeichnisnamen während Word
Vervollständigung, wenn der anfänglich angegebene Verzeichnisname nicht existiert.
Punktglob Wenn eingestellt, bash enthält Dateinamen, die mit einem „.“ beginnen. in den Ergebnissen von
Erweiterung des Pfadnamens.
Ausführung
Wenn gesetzt, wird eine nicht interaktive Shell nicht beendet, wenn sie die Datei nicht ausführen kann
als Argument für die angegeben exec eingebauter Befehl. Eine interaktive Shell
nicht beenden, wenn exec fehlschlägt.
expand_aliases
Wenn gesetzt, werden Aliase wie oben unter beschrieben expandiert ALIAS. Diese Option
ist standardmäßig für interaktive Shells aktiviert.
extdebug
Wenn gesetzt, wird das für Debugger vorgesehene Verhalten aktiviert:
1. Das -F Option zum erklären builtin zeigt den Quelldateinamen an
und Zeilennummer, die jedem Funktionsnamen entspricht, der als bereitgestellt wird
Argument.
2. Wenn der Befehl von der ausgeführt wird DEBUGGEN trap gibt einen Wert ungleich Null zurück, the
Der nächste Befehl wird übersprungen und nicht ausgeführt.
3. Wenn der Befehl von der ausgeführt wird DEBUGGEN trap gibt den Wert 2 zurück, und die
Shell in einer Subroutine ausgeführt wird (eine Shell-Funktion oder eine Shell
Skript ausgeführt von der . or Quelle builtins), ein Aufruf an Rückkehr is
simuliert.
4. BASH_ARGC und BASH_ARGV werden wie in ihrer beschrieben aktualisiert
Beschreibungen oben.
5. Funktionsablaufverfolgung ist aktiviert: Befehlsersetzung, Shell-Funktionen,
und Subshells, die mit aufgerufen werden ( Befehl ) erben die DEBUGGEN und RÜCKKEHR
Fallen.
6. Fehlerverfolgung ist aktiviert: Befehlsersetzung, Shell-Funktionen,
und Subshells, die mit aufgerufen werden ( Befehl ) erben die ERR Falle.
extglob Wenn gesetzt, die erweiterten Mustervergleichsfunktionen, die oben unter beschrieben sind
Pfadname Erweiterung sind aktiviert.
Extquote
Wenn eingestellt, $'Schnur' und $"Schnur" Das Zitieren erfolgt innerhalb ${Parameter}
Erweiterungen in doppelte Anführungszeichen eingeschlossen. Diese Option ist standardmäßig aktiviert.
Failglob
Wenn gesetzt, Muster, die während der Erweiterung des Pfadnamens nicht mit Dateinamen übereinstimmen
zu einem Erweiterungsfehler führen.
force_figignore
Wenn gesetzt, werden die Suffixe angegeben durch die FIGNORE Shell-Variable bewirken, dass Wörter
ignoriert werden, wenn eine Wortvervollständigung durchgeführt wird, selbst wenn die ignorierten Wörter sind
die einzig möglichen Vervollständigungen. Sehen SHELL VARIABLEN oben für eine Beschreibung
of FIGNORE. Diese Option ist standardmäßig aktiviert.
Globasciiranges
Wenn festgelegt, werden Bereichsausdrücke, die in Klammerausdrücken für den Musterabgleich verwendet werden (siehe
Schnittmuster Abstimmung oben) verhalten sich wie im traditionellen C-Locale when
Vergleiche durchführen. Das heißt, die Sortierreihenfolge des aktuellen Gebietsschemas
wird nicht berücksichtigt, also b wird nicht zwischen sortiert A und B und
ASCII-Zeichen in Groß- und Kleinbuchstaben werden zusammengeführt.
Kugelstern
Wenn festgelegt, wird das Muster ** die in einem Pfadnamenerweiterungskontext verwendet werden, stimmen mit allen überein
Dateien und null oder mehr Verzeichnisse und Unterverzeichnisse. Wenn das Muster ist
gefolgt von einem /, nur Verzeichnisse und Unterverzeichnisse stimmen überein.
gnu_errfmt
Falls gesetzt, werden Shell-Fehlermeldungen in die Standard-GNU-Fehlermeldung geschrieben
Format.
histappend
Wenn gesetzt, wird die Verlaufsliste an die Datei angehängt, die durch den Wert von benannt ist
HISTATEI Variable, wenn die Shell beendet wird, anstatt die Datei zu überschreiben.
histreedit
Wenn eingestellt, und readline verwendet wird, erhält ein Benutzer die Möglichkeit,
eine fehlgeschlagene Ersetzung im Verlauf bearbeiten.
histverify
Wenn eingestellt, und readline verwendet wird, sind die Ergebnisse der Historiensubstitution
nicht sofort an den Shell-Parser übergeben. Stattdessen ist die resultierende Zeile
in die geladen readline Bearbeitungspuffer, der weitere Modifikationen ermöglicht.
Hostkomplett
Wenn eingestellt, und readline wird benutzt, bash wird versuchen, hostname auszuführen
Vervollständigung, wenn ein Wort mit a @ wird fertiggestellt (vgl Abschluss
für ZEILE LESEN Oben). Dies ist standardmäßig aktiviert.
huponexit
Wenn eingestellt, bash wird senden SEUFZEND zu allen Jobs, wenn eine interaktive Login-Shell
Ausgänge.
interaktive_Kommentare
Wenn gesetzt, ein Wort zulassen, das mit beginnt # um dieses Wort und alles Übrige zu verursachen
Zeichen in dieser Zeile, die in einer interaktiven Shell ignoriert werden sollen (siehe IHRE NACHRICHT
Oben). Diese Option ist standardmäßig aktiviert.
letztes Rohr
Wenn gesetzt und die Jobsteuerung nicht aktiv ist, führt die Shell den letzten Befehl von a aus
Die Pipeline wird in der aktuellen Shell-Umgebung nicht im Hintergrund ausgeführt.
Lithist Wenn eingestellt, und die cmdhist Option aktiviert ist, werden mehrzeilige Befehle gespeichert
den Verlauf mit eingebetteten Zeilenumbrüchen anstelle der Verwendung von Semikolon-Trennzeichen
wo möglich.
login_shell
Die Shell setzt diese Option, wenn sie als Login-Shell gestartet wird (siehe
AUFRUF Oben). Der Wert darf nicht verändert werden.
E-Mail-Warnung
Wenn gesetzt, und eine Datei, die bash prüft, ob auf E-Mails zugegriffen wurde, seitdem darauf zugegriffen wurde
bei der letzten Überprüfung die Meldung „Die Post ist eingetroffen Maildatei wurde
lesen'' wird angezeigt.
no_empty_cmd_completion
Wenn eingestellt, und readline wird benutzt, bash wird nicht versuchen, die zu durchsuchen
PATH für mögliche Vervollständigungen, wenn die Vervollständigung auf einem leeren Wert versucht wird
Linie.
nocaseglob
Wenn eingestellt, bash Gleicht Dateinamen ohne Berücksichtigung der Groß-/Kleinschreibung ab, wenn
Durchführen einer Pfadnamenerweiterung (siehe Pfadname Erweiterung über).
nocasematch
Wenn eingestellt, bash gleicht Muster bei der Ausführung ohne Berücksichtigung der Groß-/Kleinschreibung ab
Abgleich während der Ausführung Häuser or [[ bedingte Befehle.
nullglob
Wenn eingestellt, bash erlaubt Muster, die mit keiner Datei übereinstimmen (siehe Pfadname Erweiterung
oben), um sie zu einer Nullzeichenfolge zu erweitern, anstatt sich selbst.
Programmkomp
Wenn gesetzt, werden die programmierbaren Vervollständigungsfunktionen (vgl Programmierbar Abschlüsse
oben) aktiviert sind. Diese Option ist standardmäßig aktiviert.
promptvars
Wenn gesetzt, werden Eingabeaufforderungszeichenfolgen einer Parametererweiterung, Befehlsersetzung,
arithmetische Erweiterung und Zitatentfernung nach der Erweiterung wie beschrieben
in AUFFORDERUNG Oben. Diese Option ist standardmäßig aktiviert.
eingeschränkte_Schale
Die Shell setzt diese Option, wenn sie im eingeschränkten Modus gestartet wird (siehe
BESCHRÄNKT SHELL unter). Der Wert darf nicht verändert werden. Dies wird nicht zurückgesetzt
wenn die Startdateien ausgeführt werden, wodurch die Startdateien erkannt werden können
ob eine Shell eingeschränkt ist oder nicht.
shift_verbose
Wenn eingestellt, wird die verschieben builtin druckt eine Fehlermeldung, wenn die Schicht zählt
die Anzahl der Positionsparameter überschreitet.
Quellpfad
Wenn eingestellt, wird die Quelle (.) builtin verwendet den Wert von PATH um das Verzeichnis zu finden
enthält die als Argument übergebene Datei. Diese Option wird aktiviert durch
default.
xpg_echo
Wenn eingestellt, wird die Echo builtin erweitert Backslash-Escape-Sequenzen standardmäßig.

aussetzen [-f]
Unterbrechen Sie die Ausführung dieser Shell, bis sie a erhält WEITERFORTS Signal. Ein Login
Shell kann nicht ausgesetzt werden; der -f Option kann verwendet werden, um dies zu überschreiben und die zu erzwingen
Suspension. Der Rückgabestatus ist 0, es sei denn, die Shell ist eine Login-Shell und -f ist nicht
bereitgestellt oder wenn die Auftragssteuerung nicht aktiviert ist.

Test ausdr
[ ausdr ]
Gibt abhängig von der Auswertung den Status 0 (wahr) oder 1 (falsch) zurück
bedingter Ausdruck ausdr. Jeder Operator und Operand muss separat sein
Streit. Ausdrücke setzen sich aus den oben beschriebenen Primärfarben zusammen
BEDINGT AUSDRÜCKE. Test akzeptiert keine Optionen, noch akzeptiert es und
ignoriere ein Argument von -- als Zeichen für das Ende der Optionen.

Ausdrücke können mit den folgenden absteigend aufgelisteten Operatoren kombiniert werden
Rangfolge. Die Bewertung hängt von der Anzahl der Argumente ab; siehe unten.
Die Operatorpriorität wird verwendet, wenn fünf oder mehr Argumente vorhanden sind.
! ausdr Wahr, wenn ausdr ist falsch.
( ausdr )
Gibt den Wert von zurück ausdr. Dies kann verwendet werden, um das Normale zu überschreiben
Vorrang der Operatoren.
Ausdruck1 -a Ausdruck2
Stimmt, wenn beides Ausdruck1 und Ausdruck2 sind wahr.
Ausdruck1 -o Ausdruck2
Stimmt, wenn entweder Ausdruck1 or Ausdruck2 ist wahr.

Test und [ Werten Sie bedingte Ausdrücke anhand einer Reihe von Regeln aus, die auf dem basieren
Anzahl Argumente.

0-Argumente
Der Ausdruck ist falsch.
1 Argument
Der Ausdruck ist genau dann wahr, wenn das Argument nicht null ist.
2-Argumente
Wenn das erste Argument ist !, ist der Ausdruck genau dann wahr, wenn die Sekunde
Argument ist null. Wenn das erste Argument eines der unären Konditionale ist
Betreiber oben unter aufgeführt BEDINGT AUSDRÜCKE, der Ausdruck ist wahr
wenn der unäre Test wahr ist. Wenn das erste Argument kein gültiges Unary ist
Bedingungsoperator, der Ausdruck ist falsch.
3-Argumente
Die folgenden Bedingungen gelten in der angegebenen Reihenfolge. Wenn die zweite
Argument ist einer der oben aufgeführten binären Bedingungsoperatoren
BEDINGT AUSDRÜCKE, das Ergebnis des Ausdrucks ist das Ergebnis von
binärer Test mit dem ersten und dritten Argument als Operanden. Die -a und -o
Operatoren werden als binäre Operatoren betrachtet, wenn drei Argumente vorhanden sind.
Wenn das erste Argument ist !, ist der Wert die Negation des Zwei-Arguments
Test mit dem zweiten und dritten Argument. Wenn das erste Argument genau ist
( und das dritte Argument ist genau ), ist das Ergebnis der Ein-Argument-Test
des zweiten Arguments. Andernfalls ist der Ausdruck falsch.
4-Argumente
Wenn das erste Argument ist !, ist das Ergebnis die Negation des Drei-Arguments
Ausdruck, der sich aus den verbleibenden Argumenten zusammensetzt. Ansonsten der Ausdruck
wird geparst und entsprechend der Priorität unter Verwendung der aufgeführten Regeln ausgewertet
zu teilen.
5 oder mehr Argumente
Der Ausdruck wird geparst und anhand der Priorität ausgewertet
oben aufgeführten Regeln.

Bei Verwendung mit Test or [, der < und > Operatoren sortieren lexikografisch mit ASCII
Bestellung.

mal Drucken Sie die kumulierten Benutzer- und Systemzeiten für die Shell und für laufende Prozesse
aus der Schale. Der Rückgabestatus ist 0.

Falle [-LP] [[arg] sigspez ...]
Der Befehl arg soll gelesen und ausgeführt werden, wenn die Shell Signale empfängt
sigspez. Wenn arg fehlt (und es gibt eine einzige sigspezoder -, jeweils angegeben
Signal wird auf seine ursprüngliche Disposition zurückgesetzt (der Wert, den es beim Eintritt in die hatte
Hülse). Wenn arg ist die Nullzeichenfolge das Signal, das von jedem angegeben wird sigspez wird ignoriert
von der Shell und von den Befehlen, die sie aufruft. Wenn arg ist nicht da und -p wurde
bereitgestellt, dann die mit jedem verknüpften Trap-Befehle sigspez sind angezeigt. Wenn nein
Argumente geliefert werden oder wenn nur -p gegeben ist, Falle druckt die Liste der Befehle
jedem Signal zugeordnet. Die -l Option bewirkt, dass die Shell eine Liste von ausgibt
Signalnamen und ihre entsprechenden Nummern. Jeder sigspez ist entweder ein Signalname
definiert insignal.h> oder eine Signalnummer. Bei Signalnamen wird zwischen Groß- und Kleinschreibung unterschieden
SIG Präfix ist optional.

Sollten Sie jetzt aufgefordert werden, ein sigspez is EXIT (0) der Befehl arg wird beim Verlassen der Shell ausgeführt. Wenn ein
sigspez is DEBUGGEN, der Befehl arg wird vor jedem ausgeführt einfach Befehl, für
Befehl, Häuser Befehl, wählen Befehl, jede Arithmetik für Befehl, und vor dem
Der erste Befehl wird in einer Shell-Funktion ausgeführt (siehe SHELL GRAMMATIK Oben). Beziehen Sie sich auf die
Beschreibung des extdebug Option zum einkaufen builtin für Details seiner Wirkung
auf die DEBUGGEN fangen. Wenn ein sigspez is RÜCKKEHR, der Befehl arg wird jedes Mal ausgeführt, wenn a
Shell-Funktion oder ein Skript, das mit der ausgeführt wird . or Quelle Einbauten beendet
ausführen.

Sollten Sie jetzt aufgefordert werden, ein sigspez is ERR, der Befehl arg wird immer dann ausgeführt, wenn eine Pipeline (die evtl
bestehen aus einem einzigen einfachen Befehl), eine Liste oder ein zusammengesetzter Befehl gibt a zurück
Exit-Status ungleich Null, vorbehaltlich der folgenden Bedingungen. Die ERR Falle ist es nicht
ausgeführt, wenn der fehlgeschlagene Befehl Teil der Befehlsliste ist, die unmittelbar auf a folgt
während or bis Schlüsselwort, Teil des Tests in einem if Anweisung, Teil eines Befehls
hingerichtet in a && or || Liste mit Ausnahme des Befehls nach dem Finale && or ||, irgendein
Befehl in einer Pipeline, aber der letzte, oder ob der Rückgabewert des Befehls lautet
invertiert mit !. Dies sind die gleichen Bedingungen, die von der befolgt werden Fehler (-e) Möglichkeit.

Beim Eintritt in die Shell ignorierte Signale können nicht abgefangen oder zurückgesetzt werden. Gefangen
Signale, die nicht ignoriert werden, werden in einer Unterschale auf ihre ursprünglichen Werte zurückgesetzt
oder Subshell-Umgebung, wenn eine erstellt wird. Der Rückgabestatus ist falsch, falls vorhanden
sigspez ist ungültig; Andernfalls Falle gibt true zurück.

tippe [-AchtpP] Name [Name ...]
Geben Sie ohne Optionen jeweils an, wie Name würde interpretiert werden, wenn es als Befehl verwendet wird
Name. Wenn die -t Option verwendet wird, tippe gibt einen String aus, der einer von ist alias,
Stichwort, Funktion, builtin, oder Datei if Name ist ein Alias, Shell-reserviertes Wort,
function, builtin oder disk file. Wenn die Name wird dann nicht gefunden
es wird nichts ausgegeben, und ein Exit-Status von false wird zurückgegeben. Wenn die -p Option ist
benutzt, tippe Entweder gibt den Namen der Festplattendatei zurück, die ausgeführt werden würde, wenn Name
als Befehlsname angegeben wurden, oder nichts, wenn ``type -t name'' nicht zurückgegeben würde
Dateidem „Vermischten Geschmack“. Seine -P Option erzwingt a PATH Suche nach jedem Name, auch wenn ``type -t name''
würde nicht zurückkehren Datei. Wenn ein Befehl gehasht ist, -p und -P drucke den gehashten Wert,
das ist nicht unbedingt die Datei, die zuerst erscheint PATH. Wenn der -a Option ist
benutzt, tippe gibt alle Orte aus, die eine ausführbare Datei mit dem Namen enthalten Name. Dies
enthält Aliase und Funktionen, wenn und nur wenn die -p Option wird auch nicht verwendet. Die
Die Tabelle der gehashten Befehle wird bei der Verwendung nicht konsultiert -adem „Vermischten Geschmack“. Seine -f Option unterdrückt
Shell-Funktionssuche, wie bei der Befehl eingebaut. tippe gibt wahr zurück, wenn alle
Die Argumente werden gefunden, false, wenn keine gefunden werden.

unlimit [-HSTabcdefilmnpqrstuvx [begrenzen]]
Stellt die Kontrolle über die Ressourcen bereit, die der Shell und den gestarteten Prozessen zur Verfügung stehen
dadurch auf Systemen, die eine solche Kontrolle zulassen. Die -H und -S Optionen geben an, dass die
Für die angegebene Ressource wird ein hartes oder weiches Limit festgelegt. Ein hartes Limit kann nicht erhöht werden
von einem Nicht-Root-Benutzer, sobald es eingestellt ist; ein Soft-Limit kann bis zum Wert von erhöht werden
die harte Grenze. Wenn weder -H noch -S angegeben ist, sowohl die weichen als auch die harten Grenzen
eingestellt sind. Der Wert von begrenzen kann eine Zahl in der für die Ressource angegebenen Einheit sein
oder einer der Sonderwerte hart, weich, oder unbegrenzt, die für den Strom stehen
hartes Limit, das aktuelle weiche Limit bzw. kein Limit. Wenn begrenzen is
ausgelassen, wird der aktuelle Wert des weichen Limits der Ressource gedruckt, sofern dies nicht der Fall ist
-H Möglichkeit gegeben ist. Wenn mehr als eine Ressource angegeben wird, werden der Grenzwertname und
Einheit werden vor dem Wert gedruckt. Andere Optionen werden wie folgt interpretiert:
-a Alle aktuellen Grenzwerte werden gemeldet
-b Die maximale Socket-Puffergröße
-c Die maximale Größe der erstellten Kerndateien
-d Die maximale Größe des Datensegments eines Prozesses
-e Die maximale Scheduling-Priorität ("nice")
-f Die maximale Größe von Dateien, die von der Shell und ihren untergeordneten Elementen geschrieben werden
-i Die maximale Anzahl anstehender Signale
-l Die maximale Größe, die im Speicher gesperrt werden kann
-m Die maximale residente Satzgröße (viele Systeme halten diese Grenze nicht ein)
-n Die maximale Anzahl offener Dateideskriptoren (die meisten Systeme erlauben dies nicht
einzustellender Wert)
-p Die Pipe-Größe in 512-Byte-Blöcken (darf nicht gesetzt werden)
-q Die maximale Anzahl von Bytes in POSIX-Nachrichtenwarteschlangen
-r Die maximale Echtzeitplanungspriorität
-s Die maximale Stapelgröße
-t Die maximale CPU-Zeit in Sekunden
-u Die maximale Anzahl von Prozessen, die einem einzelnen Benutzer zur Verfügung stehen
-v Die maximale Menge an virtuellem Speicher, die der Shell zur Verfügung steht, und auf einigen
Systeme, zu seinen Kindern
-x Die maximale Anzahl von Dateisperren
-T Die maximale Anzahl von Threads

If begrenzen gegeben ist, und die -a Option wird nicht verwendet, begrenzen ist der neue Wert von
angegebene Ressource. Wenn keine Option angegeben ist, dann -f wird angenommen. Werte sind drin
1024-Byte-Schritte, außer für -t, was in Sekunden ist; -p, was in Einheiten von angegeben ist
512-Byte-Blöcke; und -T, -b, -n und -u, die unskalierte Werte sind. Die Rückkehr
status ist 0, es sei denn, es wird eine ungültige Option oder ein ungültiges Argument angegeben oder es tritt ein Fehler auf
beim Festlegen eines neuen Limits.

umask [-p] [-S] [Modus]
Die Benutzerdatei-Erstellungsmaske ist eingestellt auf Modus. Wenn Modus beginnt mit einer Ziffer, es ist
als Oktalzahl interpretiert; andernfalls wird sie als symbolische Modusmaske interpretiert
ähnlich wie akzeptiert von chmod(1). Wenn Modus weggelassen wird, der aktuelle Wert der
Maske gedruckt. Das -S Option bewirkt, dass die Maske in symbolischer Form gedruckt wird; das
Die Standardausgabe ist eine Oktalzahl. Wenn die -p Option geliefert wird, und Modus is
weggelassen, liegt die Ausgabe in einer Form vor, die als Eingabe wiederverwendet werden kann. Der Rückgabestatus ist
0, wenn der Modus erfolgreich geändert wurde oder wenn nein Modus Argument wurde geliefert, und
falsch sonst.

Unalias [-a] [Name ...]
Entfernen Sie jeweils Name aus der Liste der definierten Aliase. Ob -a geliefert wird, alle alias
Definitionen werden entfernt. Der Rückgabewert ist wahr, sofern kein angegeben wird Name ist kein
definierten Pseudonym.

ungesetzt [-fv] [-n] [Name ...]
Für jeden Name, entfernen Sie die entsprechende Variable oder Funktion. Wenn die -v Option ist
gegeben, jeweils Name bezieht sich auf eine Shell-Variable, und diese Variable wird entfernt. Lesen-
nur Variablen dürfen nicht zurückgesetzt werden. Ob -f angegeben ist, jeweils Name bezieht sich auf eine Schale
Funktion, und die Funktionsdefinition wird entfernt. Wenn die -n Option wird geliefert,
und Name ist eine Variable mit der Namensnennung Attribut, Name wird eher als deaktiviert
die Variable, auf die es verweist. -n hat keine Wirkung, wenn die -f Option geliefert. Wenn nein
Optionen werden jeweils mitgeliefert Name bezieht sich auf eine Variable; wenn es keine Variable by gibt
diesen Namen, wird jede Funktion mit diesem Namen deaktiviert. Jede nicht gesetzte Variable oder Funktion
wird aus der Umgebung entfernt, die an nachfolgende Befehle weitergegeben wird. Wenn einer von
COMP_WORDBREAKS, RANDOM, SECONDS, LINIE NR, HISTCMD, FUNKNAME, GRUPPEN, oder DIRSTACK
werden, verlieren sie ihre besonderen Eigenschaften, auch wenn sie nachträglich zurückgesetzt werden.
Der Exit-Status ist wahr, es sei denn, a Name ist schreibgeschützt.

warten [-n] [n ...]
Warten Sie auf jeden angegebenen untergeordneten Prozess und geben Sie seinen Beendigungsstatus zurück. Jede n
kann eine Prozess-ID oder eine Jobspezifikation sein; wenn eine Jobspezifikation angegeben ist, alle Prozesse
in der Pipeline dieses Jobs wird gewartet. Ob n ist nicht gegeben, alle derzeit aktiv
Es wird auf untergeordnete Prozesse gewartet, und der Rückgabestatus ist null. Wenn die -n Option ist
geliefert, warten wartet auf die Beendigung eines Jobs und gibt seinen Beendigungsstatus zurück. Ob n
einen nicht existierenden Prozess oder Job angibt, ist der Rückgabestatus 127. Andernfalls ist die
Rückgabestatus ist der Exit-Status des letzten Prozesses oder Jobs, auf den gewartet wurde.

BESCHRÄNKT SHELL


If bash wird mit dem Namen begonnen RbschOder das -r Option wird beim Aufruf geliefert, die
Schale wird eingeschränkt. Eine eingeschränkte Shell wird verwendet, um eine Umgebung einzurichten mehr
gesteuert als die Standard-Shell. Es verhält sich identisch zu bash mit Ausnahme
dass Folgendes nicht erlaubt oder nicht ausgeführt wird:

· Verzeichniswechsel mit cd

· Setzen oder Unscharfschalten der Werte von SHELL, PATH, ENV, oder BASH_ENV

· Angabe von Befehlsnamen mit /

· Angabe eines Dateinamens mit a / als Argument für die . eingebauter Befehl

· Angabe eines Dateinamens mit einem Schrägstrich als Argument für die -p Option zum
Hash- eingebauter Befehl

· Importieren von Funktionsdefinitionen aus der Shell-Umgebung beim Start

· den Wert von analysieren Schalentiere aus der Shell-Umgebung beim Start

· Umleitung der Ausgabe mit den Umleitungsoperatoren >, >|, <>, >&, &> und >>

· Verwendung der exec eingebauter Befehl, um die Shell durch einen anderen Befehl zu ersetzen

· Hinzufügen oder Löschen von eingebauten Befehlen mit dem -f und -d Optionen zum ermöglichen
eingebauter Befehl

· Verwendung der ermöglichen Builtin-Befehl, um deaktivierte Shell-Buildins zu aktivieren

· Angabe der -p Option zum Befehl eingebauter Befehl

· eingeschränkten Modus ausschalten mit kompensieren +r or kompensieren +o eingeschränkt.

Diese Einschränkungen werden erzwungen, nachdem Startdateien gelesen wurden.

Wenn ein Befehl ausgeführt wird, der als Shell-Skript erkannt wird (siehe COMMAND EXECUTION
Oben), Rbsch deaktiviert alle Einschränkungen in der Shell, die zum Ausführen des Skripts erzeugt wird.

Verwenden Sie Bash online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad