Pourquoi la variable d'invite de bash s'appelle-t-elle PS1?

49

La variable d'environnement de l'invite bash est appelée PS1(généralement définie dans ~ / .bashrc). Que signifie PS1? Y a-t-il une PS2?

Olivier Lalonde
la source

Réponses:

58

PS1 signifie "Prompt String One" ou "Prompt Statement One", la première chaîne d'invite (visible sur une ligne de commande).

Oui, il y a une PS2 et plus! S'il vous plaît lire cet article et l'arch wiki et bien sûr le manuel de référence Bash .

bsd
la source
24
En bref, PS2 est pour les commandes continues (celles qui prennent plus d’une ligne), PS3 pour la saisie dans un script en cours d’exécution, et PS4 pour le traçage / débogage.
Ansgar Esztermann
2
@AnsgarEsztermann, votre commentaire pourrait également être une réponse (que je voterais bien).
maxschlepzig
1
Re: $ PS3. Un exemple d'utilisation consiste à modifier l'invite de la selectcommande en définissant d'abord PS3, par exemple. PS3="Select by typing the number: "
Peter.O
24

de légèrement paraphrasé du manuel de référence Bash

PS1 La chaîne d'invite principale. La valeur par défaut est '\ s- \ v \ $'.

PS2 La chaîne d'invite secondaire. c'est-à-dire pour les commandes continues (celles qui prennent plus d'une ligne). La valeur par défaut est '>'.

PS3 La valeur de cette variable est utilisée comme invite pour la commande select. c'est à dire pour l'entrée dans un script en cours d'exécution. Si cette variable n'est pas définie, la commande select affiche «#? '.

PS4 La valeur est l'invite imprimée avant l'écho de la ligne de commande lorsque l'option -x est définie. Le premier caractère de PS4 est répliqué plusieurs fois, si nécessaire, pour indiquer plusieurs niveaux d'indirection. La valeur par défaut est '+'.

PS1 et PS2 sont de l'original sh, PS3 et PS4 ont été ajoutés dans le cadre de bash

Voir des exemples ici

Lacet
la source