PROMPT_DIRTRIM não está funcionando

2

Eu tenho o seguinte no meu .bash_profile :

PROMPT_DIRTRIM=3
export PS1='$ \u in \w: '

No entanto, quando navego no interior de um diretório, o caminho não diminui. Isso é o que o prompt mostra:

$ myname in ~/Desktop/level3/level4/level5:

Eu tentei reiniciar o iTerm, mas não ajudou. Quando eu executo bash --version , recebo a seguinte saída:

GNU bash, version 4.3.42(1)-release (x86_64-apple-darwin15.4.0)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Onde estou indo errado?

EDITAR Indo ainda mais fundo:

$ myname in ~/Desktop/level3/level4/level5/level6/level7/level8/level9:
    
por saadq 24.06.2016 / 18:02

1 resposta

2

Se você for a alguns níveis mais abaixo, ele começará a truncar

$ sweh in ~: cd D1
$ sweh in ~/D1: cd D2
$ sweh in ~/D1/D2: cd D3
$ sweh in ~/D1/D2/D3: cd D4
$ sweh in ~/D1/D2/D3/D4: cd D5
$ sweh in ~/.../D3/D4/D5: cd D6
$ sweh in ~/.../D4/D5/D6: 

Fora do $ HOME, aparece para truncar antes:

$ sweh in ~: cd /usr/local/share/locale/
$ sweh in .../local/share/locale: 

Você pode ver que ele quer manter 3 níveis de diretório em ambos os casos, mas dentro de $ HOME prefixo com ~ / e é inteligente o suficiente para saber que 4 diretórios vs 3 diretórios e ... realmente não importam nesse caso.

A versão nativa do bash que acompanha o MacOS não é nova o suficiente para entender isso. Se você instalou uma versão mais recente (por exemplo, via brew ou da origem), é necessário certificar-se de ter alterado o shell do usuário por meio do comando chsh para que a janela bash em execução use a nova versão de bash e não o antigo construído em um.

    
por 24.06.2016 / 18:14