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.