Parâmetros na variável bash $ PS1

0

Entre os vários parâmetros que podem ser incluídos na variável bash PS1 , \w expande

the current working directory, with $HOME abbreviated with a tilde (uses the value of the PROMPT_DIRTRIM variable)

conforme declarado no manual de Bash .

Meu $HOME está definido como /home/myuser/ (o mesmo valor especificado em /etc/passwd ), mas a expansão de \w em PS1 fornece /home/myuser quando estou no diretório $HOME . Então, não é "abreviado com um til".

Estou usando o Ubuntu 16.04 com GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu) .

O que há de errado? Qual é a origem de onde \w realmente copia o caminho do diretório atual?

    
por BowPark 22.05.2017 / 23:20

1 resposta

4

O trailing / em /home/myuser/ é confuso. Eu acho que você verá um comportamento normal se você 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.

    
por 22.05.2017 / 23:31