Почему подсказка удара является переменным названным PS1?

Никакой заголовочный файл не определяет его - те, которые макросы предопределены компилятором. Для обнаружения полного списка предопределенных макросов делают это:

echo | gcc -E -dM -

Затем просмотрите результаты для вероятных макросов.

49
19.02.2012, 14:14
2 ответа

PS1 обозначает "Строку приглашения Один" или "Быстрый Оператор Один", первая строка приглашения (что Вы видите в командной строке).

Да, существует PS2 и больше! Прочитайте эту статью и Wiki Arch и конечно Справочник Bash.

59
27.01.2020, 19:34
  • 1
    Кратко, PS2 для длительных команд (те, которые проводят больше чем одну строку), PS3 для входа в под управлением сценарий, и PS4 для трассировки/отладки. –  Ansgar Esztermann 19.02.2012, 16:12
  • 2
    @AnsgarEsztermann, Ваш комментарий мог быть ответом также (который я проголосую). –  maxschlepzig 19.02.2012, 19:19
  • 3
    : $PS3. Пример его использования состоит в том, чтобы изменить подсказку select команда первой установкой PS3, например. PS3="Select by typing the number: " –  Peter.O 20.02.2012, 02:03

от немного перефразируемого из Справочника Bash

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

PS2 вторичная строка приглашения. т.е. для длительных команд (те, которые проводят больше чем одну строку). Значение по умолчанию‘> ’.

PS3 значение этой переменной используется в качестве подсказки для избранной команды. т.е. для входа в под управлением сценарий. Если эта переменная не установлена, избранные командные строки с ‘#? ’.

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

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

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

25
27.01.2020, 19:34

Теги

Похожие вопросы