Нужна помощь с такими переменными, как $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 или посмотрите на это или это для большего количества доступных вариантов.