exécuter automatiquement ls après avoir changé de chemin en utilisant autocd

8

Donc, chaque fois que je change de répertoire, j'aimerais que le nouveau chemin soit automatiquement répertorié ls.
Il existe des solutions si le chemin d'accès est modifié à l'aide, cdmais je n'ai jamais trouvé de solution qui fonctionnerait lorsque le chemin d'accès est modifié à l'aide de l' autocdoption.

Ce serait très pratique, est-ce que quelqu'un y est déjà parvenu?

éclat
la source

Réponses:

5

Vous pouvez y parvenir en modifiant la variable PROMPT_COMMAND, qui est exécutée avant PS1, par exemple:

PROMPT_COMMAND='ls'

Cette liste s'affiche chaque fois que vous obtenez une nouvelle invite. Bien sûr, vous ne souhaitez exécuter que lssi le répertoire a changé:

PROMPT_COMMAND='[[ $my_currdir != $PWD ]] && ls; my_currdir=$PWD'

Cela vérifie si le nouveau répertoire n'est pas le même que le dernier ensemble, puis s'exécute ls, après quoi votre répertoire actuel est stocké dansmy_currdir

J'ai trouvé une ligne encore meilleure ici , où ils utilisent bash comme gestionnaire de fichiers :

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

comme il est possible que ce ne __new_wdsoit pas défini, vous pouvez attribuer une valeur par défaut qui sera utilisée dans ce cas (voir les bashpages de manuel, rechercher :=)

steabert
la source