Use $(pwd -P)
em vez de \w
. Assim:
PS1='\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]$(pwd -P)\[3[00m\]$ '
Eu uso o valor padrão de PS1 enviado com o Ubuntu:
\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]$
que está ok 90% do tempo. No entanto, quando eu cd
para um symlink "directory" o nome do symlink, não o valor de pwd -P
é usado.
Como posso alterar o \ w para obter o diretório atual real? E ainda exibir com o formato apresentado por \w
ou \W
?
Para expandir a resposta do hek2mgl, para tornar seu prompt "automático", use a variável PROMPT_COMMAND
:
PROMPT_COMMAND='PS1="\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]$(pwd -P)\[3[00m\]\$ "'
Do manual:
PROMPT_COMMAND
If set, the value is interpreted as a command to execute before the printing of each primary prompt ($PS1).
Tags command-line bash