Como destacar a pasta atual no prompt do Bash?

2

Gostaria de usar a variável \w em .bashrc , mas desejo que o prompt destaque o diretório final atual. Algo parecido com isto:

/usr/local/<strong>bin</strong>

Como posso fazer isso?

    
por Konzepz 20.10.2010 / 01:09

2 respostas

3
PS1='${PWD%/*}/\[\e[33;1m\]${PWD##*/}\[\e[0m\] \$:  '

usa bash'isms para manipular o $ PWD para o último componente. COlorize, e adicione ainda mais meta para escapes de bash.

Substitua números diferentes por 33 por cores diferentes.

pessoalmente, odeio o caminho no prompt, ele se move pela tela. Eu prefiro na barra de título.

PROMPT_COMMAND='echo -ne "\e]0;$USER@${HOSTNAME%%.*}: $(pwd -P)\a"'

EDIT alterou as cotações no PS1 para aspas simples, pois precisa ser avaliado a cada vez que é impresso, não apenas uma vez quando é lido. Obrigado @Gordon

    
por 20.10.2010 / 01:23
0

Use algo como $(dirname \w)/\[$(tput bold)\]$(basename \w)\[$(tput sgr0)\] in $PS1 . Não esqueça as aspas simples.

    
por 20.10.2010 / 01:26