Perché la variabile prompt di bash si chiama PS1?


49

Viene chiamata la variabile d'ambiente per il prompt di bash PS1(di solito impostata in ~ / .bashrc). Cosa significa PS1? C'è una PS2?

Risposte:


58

PS1 sta per "Prompt String One" o "Prompt Statement One", la prima stringa del prompt (che viene visualizzata da una riga di comando).

Sì, c'è una PS2 e altro! Si prega di leggere questo articolo e la wiki di Arch e ovviamente il Manuale di riferimento di Bash .


24
In breve, PS2 è per i comandi continui (quelli che prendono più di una riga), PS3 è per l'input in uno script in esecuzione e PS4 è per il tracciamento / debugging.
Ansgar Esztermann,

2
@AnsgarEsztermann, anche il tuo commento potrebbe essere una risposta (che vorrei votare).
maxschlepzig,

1
Ri: $ PS3. Un esempio del suo utilizzo è quello di cambiare il prompt del selectcomando impostando prima PS3, ad es. PS3="Select by typing the number: "
Peter

24

da leggermente parafrasato da The Bash Reference Manual

PS1 La stringa del prompt principale. Il valore predefinito è '\ s- \ v \ $'.

PS2 La stringa del prompt secondario. cioè per i comandi continui (quelli che prendono più di una riga). Il valore predefinito è '>'.

PS3 Il valore di questa variabile viene utilizzato come prompt per il comando select. cioè per l'input in uno script in esecuzione. Se questa variabile non è impostata, il comando select richiede '#? '.

PS4 Il valore è il prompt stampato prima dell'eco della riga di comando quando è impostata l'opzione -x. Il primo carattere di PS4 viene replicato più volte, se necessario, per indicare più livelli di indiretta. L'impostazione predefinita è '+'.

PS1 e PS2 sono originari di sh, PS3 e PS4 sono stati aggiunti come parte di bash

Vedi esempi qui

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.