#unix #command-line #terminal #command-prompt #zsh
#unix #командная строка #терминал #zsh
Вопрос:
В приглашении терминала в профиле по умолчанию это показывает:
Last login: Sat Jun 21 17:43:00 on ttys000
➜ ~
Когда я набираю:
➜ ~ export PS1="|%*| ~ "
Я получаю это:
|17:44:11| ~
Это то, что я хочу отобразить. Как мне сделать это постоянным, чтобы мне не приходилось вводить это каждый раз?
Я попробовал следующее: вставка export PS1="|%*| ~ "
в .zsh
, также в Prefrences>> Profile>> CustomeTheme и Default>> Command>> проверенная команда, которую я вставил export PS1="|%*| ~ "
безрезультатно.
Ответ №1:
Это не имеет ничего общего с iTerm2; это чисто проблема zsh.
Вам нужно добавить команду
PS1="|%*| ~ "
в ваш $HOME/.zshrc
файл.
Продолжение на основе комментариев: лучше всего добавить эту строку в конец вашего .zshrc
файла или ближе к нему. Если что-то еще находится в .zshrc
настройках $PS
, прямо или косвенно (путем вызова другого скрипта), вы хотите, чтобы желаемое значение переопределяло это.
Там нет необходимости в export
значении $PS1
.
Вероятно, есть и другие места, куда вы могли бы поместить команду. Для получения более подробной информации обратитесь к руководству zsh (или типу info zsh
). Насколько я могу судить, zsh не обращает внимания на .zsh
файл (если вы специально не укажете ему на это).
Комментарии:
1. Спасибо за советы. Тем не менее, он сохраняет тот же результат, который я опубликовал в своем первоначальном вопросе. Следуя вашим инструкциям, я набрал:
open $HOME/.zshrc
затем я добавилPS1="|%*| ~ "
, а затем перезапустил iTerm.2. @JonaTheApprentice: Я не использую macOS; что
open
делает? Вы сохранили файл после его редактирования? ЕСЛИ вы временно добавляетеecho hello
к своему.zshrc
, появляется ли оно при запускеzsh
? Вы увереныzsh
, что это ваша оболочка по умолчанию?3.
open [filename]
открывает файл в текстовом редакторе по умолчанию. Я сохранил файл после редактирования.echo hello
появляется при перезапуске терминала. zsh — это моя оболочка по умолчанию, я запустилchsh -s /bin/zsh
ее, и никаких изменений, подтверждающих, что она установлена по умолчанию, внесено не было.4. Если добавление
echo hello
в.zshrc
выводит его на печатьhello
, то ваш.zshrc
выполняется. Вы устанавливаете$PS1
.zshrc
. Что-то еще должно присваивать ему новое значение. Внимательно прочитайте документацию по zsh, чтобы узнать, что еще может быть выполнено, и проверьте остальную часть.zshrc
на предмет каких-либо других настроек$PS1
. Возможно, вам лучше всего переместитьPS1="|%*| ~ "
команду в конец вашего.zshrc
.5. Тогда проблема в том, что что-то еще в вашей
.zshrc
настройке$PS1
, либо напрямую, либо путем вызова другого скрипта. Это стоило бы отследить. Я обновил свой ответ.