シーケンスは、%\/
zsh プロンプト拡張で何を行いますか? には、プロンプト固有の拡張の残りが含まれるman zshmisc
文字列が含まれていません。%\
このシーケンスはホルマンズドットファイル:
directory_name(){
echo "%{$fg_bold[cyan]%}%1/%\/%{$reset_color%}"
}
export PROMPT=$'in $(directory_name)› '
答え1
%\
何もしないので役に立たない。$
inについても同様$'...'
。そこに展開するエスケープ シーケンスがないので、必要ありません。
全体は次のように記述できます。
PS1='in %{$fg_bold[cyan]%}%1//%{$reset_color%}› '
または:
PS1="in %{$fg_bold[cyan]%}%1//%{$reset_color%}› "
$fg_bold...
各プロンプトではなく、その割り当て時に展開されるようにします。
directory_name
の出力は実行ごとに変化しないため、プロンプトごとにコマンド置換を行う必要はありません。
export
おそらくPS1 や PROMPT も望まないでしょう。