ejecuta automáticamente ls después de cambiar la ruta usando autocd

8

Entonces, cada vez que cambio el directorio, me gustaría que la nueva ruta aparezca automáticamente en la lista ls.
Hay soluciones si la ruta se cambia usando cdpero nunca encontré una solución que funcione cuando la ruta se cambia usando la autocdopción.

Sería bastante conveniente, ¿alguien ha logrado eso antes?

brillante
fuente

Respuestas:

5

Puede lograr esto cambiando la variable PROMPT_COMMAND, que se ejecuta antes de PS1, por ejemplo:

PROMPT_COMMAND='ls'

Esto se mostrará cada vez que reciba un nuevo aviso. Por supuesto, solo desea ejecutar lssi el directorio ha cambiado:

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

Esto comprueba si el nuevo directorio no es el mismo que el último conjunto, y luego se ejecuta ls, después de lo cual su directorio actual se almacena enmy_currdir

Encontré una línea aún mejor aquí , donde usan bash como administrador de archivos :

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

Como es posible que no __new_wdesté configurado, puede asignar un valor predeterminado que se utilizará en ese caso (consulte las bashpáginas de manual, busque :=)

steabert
fuente