Entre os vários parâmetros que podem ser incluídos na bash
PS1
variável, \w
expande-se
o diretório de trabalho atual, com $HOME abreviado com um til (usa o valor da variável PROMPT_DIRTRIM)
como afirmado noManual do Bash.
My $HOME
está definido como /home/myuser/
(o mesmo valor especificado em /etc/passwd
), mas a expansão de \w
in PS1
dá /home/myuser
quando estou no $HOME
diretório. Portanto, não é «abreviado com til».
Estou usando o Ubuntu 16.04 com GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
.
O que está errado? Qual é a fonte de onde \w
realmente copia o caminho do diretório atual?
Responder1
O final /
é /home/myuser/
confuso. Acho que você verá um comportamento normal se removê-lo.
Essa barra não faz parte do nome do diretório; é um separador de caminho. Não deveria estar em /etc/passwd
, e não deveria estar em $HOME
.
Você pode testar essa teoria sem tocar em um arquivo usando apenas:
HOME=/home/myuser
após o qual o til deve aparecer no seu prompt.