Como posso fazer o cd mostrar o diretório que ele troca?

1

Eu fiz meu prompt de comando ( $PS1 ) ser apenas username ... / current_directory (usando os 3 pontos porque minha estrutura de diretório tem muitos níveis e eles estavam tomando muito do prompt de linha de comando).
No entanto, isso funcionaria melhor se, quando eu cd'd em um diretório, o comando cd mostrou em qual diretório eu me mudei. Como posso fazer isso acontecer?

btw minha configuração de prompt de comando (que eu não desejo alterar) para fazer o nome de usuário ... current_dir é:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u.../${PWD##*/}\$ '
fi
    
por Michael Durrant 14.11.2012 / 14:06

1 resposta

10

com zsh

chpwd() pwd

Em seguida, o diretório atual é impresso sempre que é alterado (com cd , pushd , popd ...).

Com ksh, bash ou zsh:

cd() {
  builtin cd "$@" && pwd
}

(você normalmente colocaria esses em seu arquivo de configuração do shell)

    
por 14.11.2012 / 14:21