Dlaczego zmienna zachęty bash nazywa się PS1?

49

Wywoływana jest zmienna środowiskowa dla monitu bash PS1(zwykle ustawiana w ~ / .bashrc). Co oznacza PS1? Czy jest PS2?

Olivier Lalonde
źródło

Odpowiedzi:

58

PS1 oznacza „Prompt String One” lub „Prompt Statement One”, pierwszy ciąg znaków zachęty (widoczny w wierszu polecenia).

Tak, jest PS2 i więcej! Proszę przeczytać ten artykuł i łuk wiki i oczywiście instrukcję Bash Reference .

bsd
źródło
24
W skrócie, PS2 służy do poleceń ciągłych (tych, które zajmują więcej niż jedną linię), PS3 służy do wprowadzania danych do działającego skryptu, a PS4 służy do śledzenia / debugowania.
Ansgar Esztermann
2
@AnsgarEsztermann, twój komentarz może być również odpowiedzią (którą głosowałbym).
maxschlepzig
1
Odp: $ PS3. Przykładem jego użycia jest zmiana monitu selectpolecenia, najpierw ustawiając PS3, np. PS3="Select by typing the number: "
Peter.O
24

z nieco sparafrazowany z The Bash Reference Manual

PS1 Główny ciąg zachęty. Wartość domyślna to „\ s- \ v \ $”.

PS2 Drugi ciąg zachęty. tj. dla poleceń ciągłych (tych, które zajmują więcej niż jedną linię). Wartość domyślna to „>”.

PS3 Wartość tej zmiennej jest używana jako monit dla polecenia select. tj. do wprowadzania w działającym skrypcie. Jeśli ta zmienna nie jest ustawiona, polecenie select wyświetla monit za pomocą „#? „.

PS4 Wartością jest monit wyświetlany przed wyświetleniem wiersza poleceń, gdy ustawiona jest opcja -x. Pierwsza postać PS4 jest replikowana wiele razy, w razie potrzeby, aby wskazać wiele poziomów pośrednictwa. Domyślnie jest to „+”.

PS1 i PS2 pochodzą z oryginalnego sh, PS3 i PS4 zostały dodane w ramach bash

Zobacz przykłady tutaj

Sznurowadło
źródło