Warum heißt die Eingabeaufforderungsvariable von bash ' PS1?

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

Antwort

PS1 steht für „Prompt String One“ oder „Prompt Statement One“, die erste Eingabeaufforderungszeichenfolge (die Sie sehen an einer Kommandozeile).

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

Kommentare

  • Kurz gesagt, PS2 ist für fortgesetzte Befehle gedacht (diejenigen, die mehr als einen benötigen Zeile), PS3 dient zur Eingabe in ein laufendes Skript und PS4 dient zum Verfolgen / Debuggen.
  • @AnsgarEsztermann, Ihr Kommentar könnte auch eine Antwort sein (die ich abstimmen würde).
  • Betreff: $ PS3. Ein Beispiel für seine Verwendung besteht darin, die Eingabeaufforderung des Befehls select zu ändern, indem zuerst PS3 eingestellt wird, z. PS3="Select by typing the number: "

Antwort

von leicht umschrieben von Das Bash-Referenzhandbuch

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

PS2 Die sekundäre Eingabeaufforderungszeichenfolge. dh für fortgesetzte Befehle (diejenigen, die mehr als eine Zeile nehmen). Der Standardwert ist „>“.

PS3 Der Wert dieser Variablen wird als Eingabeaufforderung für den Befehl select verwendet. dh für die Eingabe in ein laufendes Skript. Wenn diese Variable nicht festgelegt ist, fordert der Befehl select mit #? ’.

PS4 Der Wert ist die Eingabeaufforderung, die gedruckt wird, bevor die Befehlszeile wiedergegeben wird, wenn die Option -x festgelegt ist. Das erste Zeichen von PS4 wird nach Bedarf mehrmals repliziert, um mehrere Indirektionsebenen anzuzeigen. Der Standardwert ist +.

PS1 und PS2 stammen aus dem Original sh, PS3 und PS4 wurden als Teil von bash hinzugefügt.

Siehe Beispiele hier

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.