Como evitar o til ~ no prompt do Bash?

10

Eu gostaria de remover o til da exibição dentro da variável PS1.

Minha string PS1 atual:

PS1="\h:\w\n$"

E o prompt é assim:

lnx-hladky:/tmp/plugtmp
$

Eu não gosto que o diretório $ HOME seja exibido como til. Isso pode ser evitado?

Isso causa problemas, por exemplo:

lnx-hladky:~/DOC
$  

Documentação diz:

\w : the current working directory, with $HOME abbreviated with a tilde 
\W: the basename of the current working directory, with $HOME abbreviated with a tilde

Existe alguma possibilidade de evitar que o $ HOME seja abreviado com um til?

Encontrei uma maneira de contornar, mas sinto que é supercomplicada:

PROMPT_COMMAND='echo -ne "\e[4;35m$(date +%T)\e[24m$(whoami)@$(hostname):$(pwd)\e[m\n"'
PS1=$

Alguém pode propor uma solução melhor? Tenho a sensação de que não é normal executar tantos comandos apenas para obter uma resposta rápida. (date, whoami, hostname, pwd).

    
por Jirka 13.01.2011 / 15:05

3 respostas

8

o bash executa expansões no prompt; apenas certifique-se de escapar deles.

PS1='\h:$(pwd)\n$'
    
por 13.01.2011 / 15:10
1

Você não precisa executar tantos comandos quanto mostrou no seu exemplo. bash fornece atalhos para a maioria das coisas que você mencionou.

Seu exemplo:

PROMPT_COMMAND='echo -ne "\e[4;35m$(date +%T)\e[24m$(whoami)@$(hostname):$(pwd)\e[m\n"'
PS1=$

pode ser reescrito como:

PS1='\e[4;35m\t\e[24m\u@\h:\w\e[m\n'

Onde \t mostra a hora (no formato de 24 horas), \u mostra o nome de usuário atual, '\ h' mostra o nome do host - a página bash man discute estes e o resto das fugas disponíveis para o seu prompt.

Mesmo se você expandir o ~ para o caminho completo, se não souber qual usuário está executando o comando e estiver trocando usuários regularmente, poderá criar problemas com permissões de arquivo ou executáveis.

    
por 13.01.2011 / 15:31
0

Estou usando a configuração abaixo no meu arquivo .bash_profile

$ export PS1='\e[1;34m\D{%T %d.%m.%Y} \[3[00;39m\]\u\[3[00;32m\]@$IP:\[3[00;33m\]$(pwd)/\n\$\[3[00m\] '

21:40:08 14.12.2017 [email protected]:/home/vmware/Downloads/
    
por 14.12.2017 / 09:19