Что делает %\/ (расширение приглашения zsh)?

Что делает %\/ (расширение приглашения zsh)?

Что делает последовательность %\/в расширении приглашения zsh? man zshmiscне содержит строку %\, в которой находятся остальные расширения, специфичные для приглашения.

Последовательность можно увидеть вточечные файлы Холмана:

directory_name(){
  echo "%{$fg_bold[cyan]%}%1/%\/%{$reset_color%}"
}

export PROMPT=$'in $(directory_name)› '

решение1

%\ничего не делает, поэтому бесполезен. То же самое и для $in $'...'. В этом нет необходимости, так как там нет escape-последовательности для расширения.

Все это можно записать так:

PS1='in %{$fg_bold[cyan]%}%1//%{$reset_color%}› '

или:

PS1="in %{$fg_bold[cyan]%}%1//%{$reset_color%}› "

чтобы раскрыть его $fg_bold...во время выполнения задания, а не при каждом запросе.

Нет необходимости выполнять подстановку команд в каждом запросе, поскольку вывод directory_nameне меняется от одного запуска к другому.

Вам, вероятно, не нужны exportPS1 или PROMPT.

Связанный контент