Parâmetros na variável bash $ PS1

Parâmetros na variável bash $ PS1

Entre os vários parâmetros que podem ser incluídos na bash PS1variável, \wexpande-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 $HOMEestá definido como /home/myuser/(o mesmo valor especificado em /etc/passwd), mas a expansão de \win PS1/home/myuserquando estou no $HOMEdiretó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 \wrealmente 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.

informação relacionada