Есть ли имя для текста, который отображается в начале каждой команды в CLI?

18

Например, в Ubuntu, когда я запускаю терминал, он говорит:

username@computer:~$ 

И в Windows:

C:\Users\Username>

Есть ли формальный способ ссылки на этот текст?

Эрти Сейдохл
источник

Ответы:

30

Это называется «подсказка».

В Llinux вы можете быть более конкретным и сказать «приглашение bash» в случае оболочки bash или для оболочки KSH, подсказки KSH (оболочка korn) и т. Д.

В Windows вы можете изменить приглашение с помощью команды PROMPT.

В Windows вы могли бы быть более конкретным и сказать «подсказка C», а подсказка в Windows наиболее известна C:\>или C:\something...>вы можете видеть, как она получает это имя.

Техник, возможно, разочарованно сказал пользователю по телефону: «Вы получаете приглашение C?». Говоря это как приглашение C, некоторые записывают его как C:\приглашение или C:приглашение. Никто не назвал бы это так, когда это было A:или D:(что вы получаете, когда вы загружаете DOS с дисковода гибких дисков или компакт-диска, или вы переключаетесь на один из этих дисков из командной строки), и никто не говорит о «приглашении» или «D». подсказка, «только известный,« подсказка C ».

barlop
источник
Спасибо! «Подсказка» - это слово, которое я искал. Я отмечу как принятый, как только истечет время ожидания.
Эрти Сейдохл
2
Интерфейс командной строки оставляет маленький кусочек текста, называемый командной строкой, висящим там, и выглядит одиноким, ожидая, пока вы дадите ему команду, чтобы она могла хорошо вам служить.
Fiasco Labs
@FiascoLabs, хотя термин «командная строка» часто ссылается на программу Windows (что почти невозможно без подсказки, хотя, возможно, можно сказать, что без подсказки, если он занят чем-то, например, длинным каталогом), и это не обязательно относится конкретно к приглашению в командной строке. Это может относиться только к небольшому тексту, когда используется, чтобы сказать «Напечатайте это в командной строке» (хотя, возможно, и то и другое там). И это должно относиться к обоим, когда один говорит: «Вы видите командную строку». Термин CLI является очень общим термином, который контрастирует с его противоположным термином GUI
barlop
1
Хех, я познакомился с термином командная строка через Unix. Так что это не специфичный для Windows термин, и название Windows-имени для окна консоли появилось задолго до того, как оно появилось, и командная строка использовалась в то время, когда GUI были искоркой в ​​глазах их мамы. Спасибо за смех ...
Fiasco Labs
@FiascoLabs в моем комментарии, где я написал "хотя термин" командная строка "я имел в виду" в Windows, хотя термин "командная строка" ( следовательно, я упомянул DIR в этом комментарии ), хотя я и мог бы быть более ясным в этом комментарии. В Windows термин «командная строка» часто относится к программе. И я привел примеры, когда трудно понять, где она будет ссылаться только на приглашение. То, что вы сказали, на самом деле не относится к Windows, хотя вы говорили в целом.
barlop
8

Надеемся, что эта дополнительная информация будет полезна для вас (или кого-то еще) .... Вы можете просмотреть / установить «приглашение» через переменную среды PS1.

Чтобы увидеть, что текущее приглашение установлено на ...

$ echo $PS1

Чтобы установить текущее приглашение на что-то еще ...

$ export PS1="\n\u@\h:\w\r\n$ "    (for example...)

Чтобы увидеть множество параметров, которые можно использовать для настройки приглашения ...

$ man bash        (then type  /^PROMPTING  and hit Enter)
Кевин Траас
источник
1
Смотрите также PS2, PS3и PS4.
Скотт
7

Это также заметно в Linux:

  • Подсказка, заканчивающаяся на $, обозначает нормальную оболочку.

  • Подсказка, оканчивающаяся на #, обозначает корневую оболочку ( осторожно! )

Ураган гарри
источник
8
Конечно, это просто соглашение; вы можете установить подсказку на то, что вы хотите, независимо от того, являетесь ли вы привилегированным. (В школе мы обычно задавали нашим приглашениям «#» в надежде, что системный администратор пройдет мимо, увидит его и выйдет из себя.) В более широком смысле, соглашение заключается в том, что подсказка, заканчивающаяся «#», обозначает привилегированную среду и все остальное обозначает непривилегированный. (Некоторые оболочки используют «%» или даже «>» в ​​качестве непривилегированного значения по умолчанию.) Кроме того, некоторые не-Unix-машины следуют соглашению о привилегиях «#» =.
Скотт
Ах, очень круто и полезно знать. Благодарность!
Эрти Сейдохл