Zsh: condição se / então no prompt

2

Doc: link

parece não funcionar neste caso de uso.

Caso de uso: se o prompt contiver localhost , em seguida, remover o nome do host do prompt, se não, o prompt conter o nome do host como:

(check %m contains 'localhost' then result empty, if not the use %m in prompt)

    
por Tuyen Pham 01.11.2018 / 09:48

1 resposta

2

%m expande para o valor de $HOST (inicializado na inicialização do nome do host).

Então você pode usar:

set -o promptsubst
PS1='${HOST##*localhost*}'

Ou, como $HOST normalmente não mudaria (nem mesmo quando o nome do host é alterado) e supondo que ele não contenha % caracteres:

PS1="${HOST##*localhost*}"

(expanda em ~/.zshrc ).

    
por 01.11.2018 / 18:10

Tags