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.

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 % 

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.