O que %\/ faz (expansão do prompt zsh)?

O que %\/ faz (expansão do prompt zsh)?

O que a sequência %\/faz na expansão do prompt zsh? man zshmiscnão contém a string %\, que é onde estão o restante das expansões específicas do prompt.

A sequência pode ser vista emArquivos de pontos de Holman:

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

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

Responder1

%\não faz nada, então é inútil. O mesmo para $dentro $'...'. Não há necessidade disso, pois não há sequência de escape para expandir lá.

A coisa toda pode ser escrita:

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

ou:

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

para ter o $fg_bold...expandido no momento dessa atribuição, e não em cada prompt.

Não há necessidade de substituir o comando em cada prompt, pois a saída de directory_namenão muda de uma execução para outra.

Você provavelmente também não deseja exportPS1 ou PROMPT.

informação relacionada