Как изменить подсказку в Linux?

16

Приглашение по умолчанию будет

root@monu dev]#

Можем ли мы изменить часть «root @ памятник» и дать ей желаемое имя?

Памятник погибшим
источник

Ответы:

23

Это изменяется путем изменения переменной среды PS1.

Вы можете увидеть текущее значение PS1по:

root@monu dev# echo $PS1

Вы можете увидеть значение, равное \u@\h \w\$, где:

  • \u : имя пользователя
  • \h : имя хоста
  • \w : текущий рабочий каталог
  • \$: #символ для пользователя root, $символ для других пользователей

Если вы хотите, чтобы изменение было постоянным, вы должны добавить скрипт, изменяющий значение PS1in ~/.bashrc, поскольку он выполняется каждый раз, когда пользователь входит в систему.

pradeepchhetri
источник
1
Не забудьте также поместить его в файл ~ / .bashrc. например, `PS1 =" myname \\ $ "'.
Кит
5
~ / .bashrc не выполняется каждый раз, когда пользователь входит в систему. «Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, bash читает и выполняет команды из ~ / .bashrc, если этот файл существует.» - man bash / INVOCATION
manatwork
Изменяя их, вы можете изменить. ?
Чепанг
Подробности смотрите в PROMPTINGразделе с man bash.
Франческо Турко
Да, но как именно? Можете ли вы привести несколько примеров?
Питер Мортенсен
5

Это зависит от вашей оболочки. Важное замечание: никогда не используйте корневую учетную запись в качестве личной. Создайте обычного пользователя и настройте доступ к sudo. Пожалуйста, ознакомьтесь с руководством по распространению о том, как это сделать.

В zsh вам нужно установить переменную PROMPT следующим образом:

PROMPT='%{ESC[38;5;24m%};%{ESC[0m%} '

zshell предлагает множество других опций, и это действительно минимальная подсказка.

В bash вы можете установить это так:

local ROOK="\[\033[38;5;24m\]"
local DEFAULT="\[\033[0;39m\]"
PS1="${ROOK}\$${DEFAULT} "

Обратите внимание, что в обоих случаях у меня есть терминал с 256 цветами. Страница справки очень поможет ( man bashили man zsh).

Сардатрион - Восстановить Монику
источник
2
Здесь вы правильно указали регистр учетной записи root , IMO - он не должен использоваться как личный аккаунт (за исключением некоторых встроенных систем с очень низким размером).
rozcietrzewiacz