Почему переменная приглашения bash называется PS1?

49

Вызывается переменная окружения для приглашения bash PS1(обычно устанавливается в ~ / .bashrc). Что такое PS1? Есть ли PS2?

Оливье Лалонд
источник

Ответы:

58

PS1 расшифровывается как «Prompt String One» или «Prompt Statement One», первая строка приглашения (которую вы видите в командной строке).

Да, есть PS2 и более! Пожалуйста, прочитайте эту статью и Arch wiki и, конечно, The Bash Reference Manual .

BSD
источник
24
Вкратце, PS2 для продолжения команд (те, которые занимают более одной строки), PS3 для ввода в работающий скрипт, а PS4 для трассировки / отладки.
Ансгар Эстерманн
2
@AnsgarEsztermann, ваш комментарий также может быть ответом (за который я бы проголосовал).
maxschlepzig
1
Re: $ PS3. Примером его использования является изменение приглашения selectкоманды, сначала установив PS3, например. PS3="Select by typing the number: "
Peter.O
24

от слегка перефразированного из The Bash Reference Manual

PS1 Основная строка приглашения. Значением по умолчанию является '\ s- \ v \ $'.

PS2 Строка вторичного приглашения. то есть для продолжения команд (те, которые занимают более одной строки). Значением по умолчанию является «>».

PS3 Значение этой переменной используется в качестве подсказки для команды выбора. т.е. для ввода в работающий скрипт. Если эта переменная не задана, команда выбора запрашивает '#? ».

PS4 Значение - это приглашение, которое выводится перед выводом командной строки, если задана опция -x. Первый символ PS4 повторяется несколько раз, по мере необходимости, чтобы указать несколько уровней косвенности. По умолчанию это «+».

PS1 и PS2 взяты из оригинального sh, PS3 и PS4 были добавлены как часть bash

Смотрите примеры здесь

шнурки
источник