Нуждаюсь в помощи с переменными как $current_dir, $user_host и т.д.

Я довольно плохо знаком с Linux, поэтому терпите меня здесь :)

Я хочу настроить свое приглашение оболочки (в zsh). Прямо сейчас это похоже на это (не записанный мной):

PROMPT="${user_host} ${current_dir} ${rvm_ruby} 
%B$%b "

Теперь, каковы эти переменные ${user_host} и т.д. названный и где я могу видеть список их таким образом, что я могу включать вещи как, например, текущее время в моей подсказке?

3
задан 19 July 2015 в 18:29

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', которые используются для определения различных видов информации. В БЫСТРОЙ переменной, любом происшествии их % последовательности заменяются информацией, которую они представляют. В вышеупомянутых кодах:

  • %n представляет имя пользователя и эквивалентен $USERNAME
  • %m представляет имя хоста до первого .
  • %~ представляет $PWD, но сделает два типа замен. Если именованный dir X префикс текущего каталога, затем ~X отображен. Если текущий каталог является Вашим корневым каталогом, $HOME, просто ~ отображен.

Теперь, у Вас есть различные варианты для показа данных/времени:

  • %t - Текущее время суток, в 12-часовом,/пополудни формат.
  • %T - Текущее время суток, в 24-часовом формате.
  • %* - Текущее время суток в 24-часовом формате, с секундами.
  • %w - Дата в дневном-dd формате.
  • %W - Дата в mm/dd/yy формате.
  • %D - Дата в yy-mm-dd формате.

Так,

PROMPT="${USER_HOST} ${CURRENT_DIR}%t$ "

даст подсказку как:

ron@ron ~9:11AM$

См. 'Расширение быстрых последовательностей' в man zshmisc или взгляните на это или это для большего количества опций, которые доступны.

3
ответ дан 1 December 2019 в 16:27

Другие вопросы по тегам:

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