Como posso alterar meu prompt do bash para mostrar meu diretório de trabalho?

33

Eu posso imprimir meu diretório de trabalho atual como este

myPrompt$ pwd
/Users/me/myDir

Quero que minha concha fique assim

/Users/me/myDir$ pwd
/Users/me/myDir

Isso é possível? Como eu posso fazer isso?

bernie2436
fonte
No OS X, o nome do arquivo é .bash_profile e não apenas .profile. Isso será carregado automaticamente para você.
Nem tanto. OSX começa shells de login por padrão e isso significa que a aparência festança para ~/.bash_profile, ~/.bash_logine ~/.profile, nessa ordem, e lê e comandos Executa a partir do primeiro que existe e é legível. De qualquer forma, isso é realmente um comentário e não uma resposta, por isso estou convertendo-o para um.
terdon

Respostas:

39

Você pode usar seqüências de escape em variáveis ​​de prompt .

Coloque isso no seu ~/.bashrc:

PS1='\w\$ '
Gilles 'SO- parar de ser mau'
fonte
2
obrigado. Eu fiz essa mudança. Agora eu vejo: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ .... Quero mostrar apenas a parte que diz "tmp" para minha solicitação. Como eu escondo o resto? Eu quero esconder o "abramhandler" e "Abram's-MacBook-Air-3" partes
bernie2436
7
@ akh2103 use em \Wvez de \w. Veja o link que Gilles lhe deu para uma (curta) explicação dos códigos de escape.
terdon
@terdon vejo a mesma coisa com \ W e \ w. Estou executando o Unix no OSX.
bernie2436
2
@ akh2103 se você estiver executando o OSX e usando o aplicativo de terminal, faça alterações em ~ / .profile e não em .bashrc, pois o terminal executa um shell de login por padrão. Você também deve usar o ~ / .profile ou abrir um novo terminal para que as alterações entrem em vigor. Além disso, edite para adicionar mais informações. Não consigo entender o que você está pedindo no seu último comentário.
terdon
@terdon quando executo o source ~ / .profile, altera o caminho corretamente no terminal atual. Mas quando abro um novo terminal, ainda vejo "mac book air" da abram etc. Tentei adicionar o source ~ / .profile aos arquivos .profile e .bashrc, mas ainda não tive sorte. Alguma ideia?
bernie2436
4

Aqui está uma linha para OSX. Ele anexa o prompt que você deseja ao arquivo de perfil e, em seguida, recarrega o perfil.

echo "PS1='\w\$ '" >> ~/.bash_profile; source ~/.bash_profile

No El Capitan, você vai querer usar

echo "PS1='\w\$ '" >> ~/.profile; source ~/.profile
Kit
fonte
1

Por alguma razão '\w\$', não funcionou para mim, mas sim: export PS1="$(pwd) \$"e funcionou.

David
fonte
4
Isso não vai funcionar muito bem quando você alterar diretórios ...
Stephen Kitt
0

Parece um tópico antigo, mas as etapas abaixo funcionaram para mim no OS X 10.9.5

  • colocar PS1='\w\$ 'em~/.profile
  • se você fez alguma alteração em ~/.bashrcremovê-los
  • feche o terminal com cmd+q
  • reabra o terminal
vencedor
fonte
1
No meu caso, o PATH completo é realmente grande, então eu adicionei mais um sinalizador para a próxima linha, como PS1 = '\ w \ n \ $'
victor