Você pode conseguir isso alterando a variável PROMPT_COMMAND
, que é executada antes do PS1, por exemplo:
PROMPT_COMMAND='ls'
Isto irá listar cada vez que você receber um novo prompt. Claro que você só quer executar ls
se o diretório foi alterado:
PROMPT_COMMAND='[[ $my_currdir != $PWD ]] && ls; my_currdir=$PWD'
Isso verifica se o novo diretório não é o mesmo que o último conjunto e, em seguida, executa ls
, após o qual seu diretório atual é armazenado em my_currdir
Eu encontrei uma linha ainda melhor aqui , onde eles usam bash como gerenciador de arquivos :
PROMPT_COMMAND='[[ ${__new_wd:=$PWD} != $PWD ]] && list; __new_wd=$PWD'
pois é possível que __new_wd
não esteja definido, você pode atribuir um valor padrão que será usado nesse caso (consulte bash
man pages, procure por :=
)