Estou usando o Debian no WSL. No entanto, trabalho principalmente no caminho do Windows. Atualmente meu PS1
in .bashrc
está assim:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Isso torna o caminho muito longo quando estiver na unidade do Windows, porque sempre mostra o prefixo desnecessário /mnt/c/Users/name
. Eu queria saber se havia a possibilidade de exibir o caminho relativo ao arquivo /mnt/c/Users/name
.
Desde já, obrigado!
A variável pode conter qualquer expansão de shell, como mostra seu próprio exemplo; se as expansões forem citadas/escapadas para evitar sua avaliação durante a atribuição, elas serão avaliadas novamente sempre que o prompt for mostrado.
Então, em vez de
\w
, você poderia usar$PWD
junto com várias expansões de string para substituir seu prefixo:Isso substituiria o prefixo
/mnt/c/Users/name/
porWin/
. (Não é ideal porque só funciona quando a barra final está presente, ou seja, quando você está em um subdiretório, mas de alguma forma não parece certo omitir a barra final, pois isso pode resultar em colisões estranhas...)Você pode até usar a saída da função:
Observe as aspas simples
'...'
que impedem a expansão $ imediata.(Você pode até fazer com que todo o prompt seja exibido pela função; se decidir fazer isso, certifique-se de gerar
\001
e\002
em torno dos códigos de cores em vez de\[ \]
.)