Mostrar mensaje cuando cd en directorio específico

15

¿Cómo puedo mostrar un mensaje cuando estoy cden un directorio específico? Este directorio es local, y solo necesito un recordatorio cuando entro desde el terminal.

Connor Montgomery
fuente

Respuestas:

25

Si fuera usted, jugaría con algo así en mi archivo de configuración de shell (por ejemplo ~/.bashrc):

reminder_cd() {
    builtin cd "$@" && { [ ! -f .cd-reminder ] || cat .cd-reminder 1>&2; }
}

alias cd=reminder_cd

De esta manera, puede agregar un .cd-reminderarchivo en cada directorio para el que desea recibir un recordatorio. El contenido del archivo se mostrará después de cada éxito cden el directorio.

gim@tenebreuse ~/tmp % echo 'warning: this directory is pure junk' > .cd-reminder
gim@tenebreuse ~/tmp % cd ..
gim@tenebreuse ~ % cd tmp
warning: this directory is pure junk
gim@tenebreuse ~/tmp % 
Stéphane Gimenez
fuente
1
Buena idea por cierto! Me gusta, y tal vez lo usaré también :-)
Stéphane Gimenez
No es importante en este caso, pero en general es bueno tener siempre una comilla doble $@.
enzotib
1
Gracias, ahora me pregunto si hay algún caso en el que $@debería preferirse antes que "$@"...
Stéphane Gimenez
1
Debe usar $@o $*(son lo mismo cuando no están entre comillas) cuando desea que se produzca la división de palabras IFS.
Chris Down
Si usa este método, no se olvide de alias pushdy popdtambién.
mVChr