Como exibir apenas o nome do diretório de trabalho no prefixo do shell? [duplicado]

3

Atualmente, estou trabalhando em um diretório longo realmente . Provavelmente algo como:

~/Documents/c_prog/this_is_a_really_long_project_name/sub_directory/test_case/

Seria fantástico se eu pudesse executar um comando quando estivesse neste diretório e mostrasse apenas * sername@hostname ~/test_case$ em vez desta parede de texto. Quando eu reiniciar o bash deve ser normal novamente. Estou totalmente bem com a execução deste comando toda vez que estou neste diretório.

Como posso conseguir algo assim?

    
por LastSecondsToLive 13.11.2015 / 18:28

2 respostas

2

( bash 4 ou posterior)

Se você definir PROMPT_DIRTRIM para um número diferente de zero, ele substituirá os diretórios depois de ~ por ... , mantendo o número especificado de diretórios à direita. Definir como 1, por exemplo, lhe dará

username@hostname ~/.../test_case$
    
por 13.11.2015 / 18:36
5

Substitua a sequência de escape \w no seu% normal PS1 por \W . Assim, do seu exemplo, seria algo como:

PS1='\u@\h \W\$ '
    
por 13.11.2015 / 18:33

Tags