executa automaticamente ls depois de mudar o caminho usando o autocd

8

Portanto, toda vez que eu mudar o diretório, eu gostaria que o novo caminho fosse listado automaticamente com ls .
Há soluções se o caminho for alterado usando cd , mas nunca encontrei uma solução que funcionasse quando o caminho é alterado usando a opção autocd .

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

    
por brillout 23.01.2012 / 06:04

1 resposta

5

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 := )

    
por steabert 23.01.2012 / 08:08