esegue automaticamente ls dopo aver cambiato percorso usando autocd


8

Quindi ogni volta che cambio directory vorrei che il nuovo percorso venisse automaticamente elencato ls.
Ci sono soluzioni se il percorso viene modificato utilizzando cdma non ho mai trovato una soluzione che funzionerebbe quando il percorso viene modificato utilizzando l' autocdopzione.

Sarebbe abbastanza conveniente, qualcuno l'ha già raggiunto?

Risposte:


5

Puoi farlo modificando la variabile PROMPT_COMMAND, che viene eseguita prima di PS1, ad esempio:

PROMPT_COMMAND='ls'

Questo verrà elencato ogni volta che ricevi un nuovo prompt. Ovviamente vuoi eseguire solo lsse la directory è cambiata:

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

Questo controlla se la nuova directory non è la stessa dell'ultima serie e quindi viene eseguita ls, dopodiché viene memorizzata la directory correntemy_currdir

Ho trovato una linea ancora migliore qui , dove usano bash come file manager :

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

poiché è possibile che __new_wdnon sia impostato, è possibile assegnare un valore predefinito che verrà utilizzato in quel caso (vedere le bashpagine man, cercare :=)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.