Waarom heet de promptvariabele van bash ' PS1?

De omgevingsvariabele voor de bash-prompt heet PS1 (meestal ingesteld in ~ / .bashrc). Waar staat PS1 voor? Is er een PS2?

Answer

PS1 staat voor “Prompt String One” of “Prompt Statement One”, de eerste promptstring (die je ziet op een commandoregel).

Ja, er is een PS2 en meer! Lees dit artikel en de Arch wiki en natuurlijk De Bash-referentiehandleiding .

Opmerkingen

  • Kort gezegd, PS2 is voor doorlopende opdrachten (degenen die meer dan één regel), PS3 is voor invoer in een lopend script, en PS4 is voor traceren / debuggen.
  • @AnsgarEsztermann, je opmerking zou ook een antwoord kunnen zijn (waarop ik zou stemmen).
  • Re: $ PS3. Een voorbeeld van het gebruik ervan is om de prompt van het select -commando te wijzigen door eerst PS3 in te stellen, bijv. PS3="Select by typing the number: "

Antwoord

van lichtjes geparafraseerd uit The Bash Reference Manual

PS1 De primaire promptreeks. De standaardwaarde is ‘\ s- \ v \ $’.

PS2 De secundaire tekenreeks. dwz voor doorlopende opdrachten (die meer dan één regel nemen). De standaardwaarde is ‘>’.

PS3 De waarde van deze variabele wordt gebruikt als prompt voor het select-commando. dwz voor invoer in een lopend script. Als deze variabele niet is ingesteld, wordt de opdracht voor select weergegeven met ‘#? ’.

PS4 De waarde is de prompt die wordt afgedrukt voordat de opdrachtregel wordt herhaald wanneer de optie -x is ingesteld. Het eerste teken van PS4 wordt indien nodig meerdere keren gerepliceerd om meerdere niveaus van indirectheid aan te geven. De standaardwaarde is +.

PS1 en PS2 zijn van de originele sh, PS3 en PS4 zijn toegevoegd als onderdeel van bash

Zie voorbeelden hier

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *