%\/ は何をしますか (zsh プロンプトの展開)?

%\/ は何をしますか (zsh プロンプトの展開)?

シーケンスは、%\/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 も望まないでしょう。

関連情報