Favoritos en BASH

Día a día, podemos pasar horas cambiando de directorios con 'cd' por lo que estaría bien que tuvieramos ciertos favoritos definidos para navegar entre los directorios que más usamos.

Por ejemplo, /opt/jboss/server/default/ suele ser un directorio al que vuelvo muchas veces durante el día, así que voy a definir un favorito utilizando 'alias':

  1. $ alias jb="cd /opt/jboss/server/default/"

De esta forma, la próxima vez, con ejecutar 'jb' me llevará a ese directorio.

Ahora vayamos un poco más lejos e intentemos hacer de esto algo un poco más genérico. Abrimos nuestro fichero ~/.bashrc y añadimos las siguientes lineas

  1. # Favoritos
  2. alias m1='alias g1="cd `pwd`"'
  3. alias m2='alias g2="cd `pwd`"'
  4. alias m3='alias g3="cd `pwd`"'
  5. alias m4='alias g4="cd `pwd`"'
  6. alias m5='alias g5="cd `pwd`"'
  7. alias m6='alias g6="cd `pwd`"'
  8. alias m7='alias g7="cd `pwd`"'
  9. alias m8='alias g8="cd `pwd`"'
  10. alias m9='alias g9="cd `pwd`"'
  11. alias favs='alias|grep -e "alias g[0-9]"|grep -v "alias m"'
  12. alias favsave='alias|grep -e "alias g[0-9]"|grep -v "alias m" > ~/.favs'
  13. alias favload='alias | grep -e "alias g[0-9]"|grep -v "alias m"|sed "s/alias //"'
  14. touch ~/.favs
  15. source ~/.favs

Las primeras nueve lineas definen los aliases que vamos a utilizar para crear y utilizar nuestros favoritos. Si deseamos marcar un directorio, utilizamos 'm1' y para volver a éste, ejecutamos 'g1'

El alias 'favs' nos muestra la lista de favoritos cargados en el entorno. El alias 'favsave' almacena nuestros favoritos en el fichero .favs y los volvemos a cargar con 'favload'. Esto es así, porque al terminar una sesión, todos los aliases que teníamos definidos se perderán sino los almacenamos. El alias 'favsave' podemos añadirlo al fichero 'bash_logout' para que cada vez que termine la sesión, se guarden automáticamente.