Нужна помощь с такими переменными, как $current_dir, $user_host и т. Д.
Я довольно новичок в Linux, поэтому, пожалуйста, потерпите меня здесь:)
Я хочу настроить приглашение оболочки (в zsh
). Прямо сейчас это выглядит так (не написано мной):
PROMPT="${user_host} ${current_dir} ${rvm_ruby}
%B$%b "
Теперь, что это за переменные ${user_host}
и т. д., и где я могу увидеть их список, чтобы я мог включить такие вещи, как, например, текущее время в мою подсказку?
1 ответ
Переменные, такие как ${user_host}
можно установить желаемые значения внутри вашего .zshrc
файл.
Например, добавив следующие строки в вашем .zshrc
:
local USER_HOST="${_prompt_colors[4]}%n@%m"
local CURRENT_DIR="${_prompt_colors[5]}%~"
PROMPT="${USER_HOST} ${CURRENT_DIR}$ "
даст вам подсказку, как:
ron@ron ~$
Символы, которые начинаются с %
в приведенных выше кодах приведены специальные последовательности "escape", которые используются для указания различных видов информации. В переменной PROMPT любое возникновение этих %
последовательности заменяются информацией, которую они представляют. В приведенных выше кодах:
%n
представляет имя пользователя и эквивалентно$USERNAME
%m
представляет имя хоста до первого.
%~
представляет собой$PWD
, но сделаю два типа замен. Если названный каталогX
это префикс текущего каталога, то~X
отображается. Если текущий каталог является вашим домашним каталогом,$HOME
, просто~
отображается.
Теперь у вас есть различные варианты отображения данных / времени:
%t
- Текущее время дня в 12-часовом формате в формате am/pm.%T
- Текущее время дня в 24-часовом формате.%*
- Текущее время суток в 24-часовом формате, с секундами.%w
- Дата в формате день-дд.%W
- Дата в формате мм / дд / гг.%D
- Дата в формате гг-мм-дд.
Так,
PROMPT="${USER_HOST} ${CURRENT_DIR}%t$ "
выдаст подсказку вроде:
ron@ron ~9:11AM$
См. "Расширение последовательностей подсказок" в man zshmisc
или посмотрите на это или это для большего количества доступных вариантов.