executa automaticamente ls após alterar o caminho usando o autocd

8

Então, toda vez que eu altero o diretório, gostaria que o novo caminho fosse listado automaticamente ls.
Existem soluções se o caminho for alterado usando, cdmas eu nunca encontrei uma solução que funcionaria quando o caminho fosse alterado usando a autocdopção

Seria bastante conveniente, alguém já conseguiu isso antes?

brillout
fonte

Respostas:

5

Você pode conseguir isso alterando a variável PROMPT_COMMAND, que é executada antes do PS1, por exemplo:

PROMPT_COMMAND='ls'

Isso será listado sempre que você receber um novo prompt. Claro que você só deseja executar lsse 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 é executado ls, após o qual o diretório atual é armazenado emmy_currdir

Encontrei uma linha ainda melhor aqui , onde eles usam o bash como gerenciador de arquivos :

PROMPT_COMMAND='[[ ${__new_wd:=$PWD} != $PWD ]] && list; __new_wd=$PWD'

como é possível que __new_wdesteja desconfigurado, você pode atribuir um valor padrão que será usado nesse caso (consulte as bashpáginas de manual, procure :=)

Steabert
fonte