¿Por qué la variable de solicitud de bash se llama PS1?

49

Se llama a la variable de entorno para el indicador bash PS1(generalmente establecida en ~ / .bashrc). ¿Qué significa PS1? ¿Hay una PS2?

Olivier Lalonde
fuente

Respuestas:

58

PS1 significa "Prompt String One" o "Prompt Statement One", la primera cadena de solicitud (que se ve en una línea de comando).

¡Sí, hay una PS2 y más! Lea este artículo y el wiki de Arch y, por supuesto, el Manual de referencia de Bash .

bsd
fuente
24
Brevemente, PS2 es para comandos continuos (aquellos que toman más de una línea), PS3 es para entrada en un script en ejecución y PS4 es para rastreo / depuración.
Ansgar Esztermann
2
@AnsgarEsztermann, tu comentario también podría ser una respuesta (lo cual votaría).
maxschlepzig
1
Re: $ PS3. Un ejemplo de su uso es cambiar la solicitud del selectcomando configurando primero PS3, por ejemplo. PS3="Select by typing the number: "
Peter.O
24

ligeramente parafraseado de The Bash Reference Manual

PS1 La cadena de solicitud principal. El valor predeterminado es '\ s- \ v \ $'.

PS2 La cadena de solicitud secundaria. es decir, para comandos continuos (aquellos que toman más de una línea). El valor predeterminado es '>'.

PS3 El valor de esta variable se utiliza como solicitud para el comando de selección. es decir, para ingresar en un script en ejecución. Si no se establece esta variable, el comando de selección solicita '#? '.

PS4 El valor es el aviso impreso antes de que la línea de comando se repita cuando se establece la opción -x. El primer carácter de PS4 se replica varias veces, según sea necesario, para indicar múltiples niveles de indirección. El valor predeterminado es '+'.

PS1 y PS2 son del sh original, se agregaron PS3 y PS4 como parte de bash

Ver ejemplos aquí

Cordon de zapato
fuente