Warum heißt die Prompt-Variable von bash PS1?

49

Die Umgebungsvariable für die Bash-Eingabeaufforderung wird aufgerufen PS1(normalerweise in ~ / .bashrc festgelegt). Wofür steht PS1? Gibt es eine PS2?

Olivier Lalonde
quelle

Antworten:

58

PS1 steht für "Prompt String One" oder "Prompt Statement One", die erste Eingabeaufforderungszeichenfolge (die Sie in einer Befehlszeile sehen).

Ja, es gibt eine PS2 und mehr! Bitte lesen Sie diesen Artikel und das Arch- Wiki und natürlich das Bash-Referenzhandbuch .

bsd
quelle
24
Kurz gesagt, PS2 dient zur Fortsetzung von Befehlen (die mehr als eine Zeile benötigen), PS3 zur Eingabe in ein laufendes Skript und PS4 zur Verfolgung / Fehlersuche.
Ansgar Esztermann
2
@AnsgarEsztermann, dein Kommentar könnte auch eine Antwort sein (die ich abstimmen würde).
Maxschlepzig
1
Re: $ PS3. Ein Beispiel für seine Verwendung ist das Ändern der Eingabeaufforderung des selectBefehls, indem zuerst PS3 eingestellt wird, z. PS3="Select by typing the number: "
Peter.O
24

von leicht umschrieben aus dem Bash Reference Manual

PS1 Die primäre Eingabeaufforderungszeichenfolge. Der Standardwert ist '\ s- \ v \ $'.

PS2 Die sekundäre Eingabeaufforderungszeichenfolge. dh für fortgesetzte Befehle (die mehr als eine Zeile benötigen). Der Standardwert ist '>'.

PS3 Der Wert dieser Variablen wird als Eingabeaufforderung für den Befehl select verwendet. dh zur Eingabe in ein laufendes Skript. Ist diese Variable nicht gesetzt, fordert der Befehl select mit '#? '.

PS4 Der Wert ist die Eingabeaufforderung, die gedruckt wird, bevor die Befehlszeile zurückgegeben wird, wenn die Option -x festgelegt ist. Das erste Zeichen von PS4 wird nach Bedarf mehrfach repliziert, um mehrere Indirektionsebenen anzugeben. Der Standardwert ist '+'.

PS1 und PS2 sind vom Original sh, PS3 und PS4 wurden als Teil von bash hinzugefügt

Beispiele finden Sie hier

Schnürsenkel
quelle