#shell #command #line #zsh
Вопрос:
Я использую пользовательское приглашение Zsh (без OhMyZsh или чего-либо подобного). То, что я хотел бы сделать,-это в основном создать несколько различных подсказок Zsh и случайным образом изменять их каждый раз, когда я загружаю новую оболочку (аналогично тому fortune
, как работает приложение. В случае, если это имеет отношение к делу, мое приглашение Zsh выглядит следующим образом:
PROMPT='%F{blue}%1~%f %F{cyan}%f '
RPROMPT=$vcs_info_msg_0_
Это просто очень простое приглашение, которое отображает текущее местоположение с некоторым настроенным цветом, и правильное приглашение, в котором отображается, в какой ветке я нахожусь, когда в репозитории git.
Комментарии:
1. Я надеюсь, что вы не хотите перемешивать случайные символы , чтобы каждый раз получать разные подсказки, но, например
fortune
, у вас есть набор предопределенных подсказок, и вы хотите выбрать одну из них случайным образом. В этом случае вы можете сохранить все возможные приглашения в массив и выбрать один элемент массива случайным образом для настройки приглашения. Для дополнительного удовольствия вы можете использовать переменные для цветов в приглашении, а также установить для переменных случайное значение.2. zsh поставляется с простым менеджером тем паролей со случайной опцией — попробуйте:
autoload -Uz promptinit; promptinit
а затемprompt random
измените приглашение. Вы можете добавить свои собственные темы (см.zshcontrib
справочную страницу), но у него нет стандартного способа ограничить случайный выбор, поэтому он будет выбирать из всего перечисленногоprompt -l
. Чтобы ограничить набор, вы можете немного взломать его и переопределить внутренний массив, используемый кодом, например:prompt_themes=(pws redhat zefram newtheme1 newtheme2)