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


49

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

Ответы:


58

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

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


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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.