Proč se bash ' s proměnnou výzvy nazývá PS1?

Proměnná prostředí pro výzvu bash se nazývá PS1 (obvykle nastavená v ~ / .bashrc). Co znamená PS1? Existuje PS2?

Odpověď

PS1 znamená „Prompt String One“ nebo „Prompt Statement One“, první řetězec výzvy (který vidíte na příkazovém řádku).

Ano, existuje PS2 a další! Přečtěte si tento článek a Arch wiki a samozřejmě The Bash Reference Manual .

Komentáře

  • Stručně, PS2 je určen pro pokračující příkazy (ty, které berou více než jeden řádek), PS3 je pro vstup do běžícího skriptu a PS4 je pro trasování / ladění.
  • @AnsgarEsztermann, váš komentář by mohl být také odpovědí (kterou bych hlasoval).
  • Re: $ PS3. Příkladem jeho použití je změna výzvy příkazu select nejprve nastavením PS3, např. PS3="Select by typing the number: "

Odpověď

z mírně parafrázovaného slova z Referenční příručka Bash

PS1 Primární řetězec výzvy. Výchozí hodnota je „\ s- \ v \ $“.

PS2 Sekundární řetězec výzvy. tj. pro pokračující příkazy (ty, které berou více než jeden řádek). Výchozí hodnota je „>“.

PS3 Hodnota této proměnné se použije jako výzva k výběru příkazu. tj. pro vstup do běžícího skriptu. Pokud tato proměnná není nastavena, příkaz select vyzve znakem „#? .

PS4 Hodnota je výzva vytištěná před opakováním příkazového řádku, když je nastavena volba -x. První znak PS4 je podle potřeby několikrát replikován, aby indikoval více úrovní indirection. Výchozí hodnota je +.

PS1 a PS2 jsou z původního sh, PS3 a PS4 byly přidány jako součást bash

Viz příklady zde

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *