ZSH

¿Por qué uso ZSH y no Bash?

Escrito el y tuvo 9 comentarios

Que levante la mano el que no conozca Bash. Bash (Bourne again shell) es un intérprete de órdenes para nuestro sistema, además de un lenguaje de programación, que es con lo que interactuamos cada vez que abrimos un terminal en Linux. No importa la distribución de Linux que uses, estoy convencido de que por defecto viene con Bash.

El problema es, que si bien usando bash-completion hacemos que Bash obtenga una serie de funciones que no vienen activadas por defecto, como el autocompletado de comandos, hay otras alternativas para nuestro terminal que nos permiten trabajar de forma más productiva y más rápido.

ZSH

La historia de Z Shell (a.k.a Zsh) la pueden encontrar en Internet. Yo lo que voy a mostrar son algunas de las cualidades que tiene que lo hacen una excelente opción y los motivos por el cual yo lo uso. Además, para aumentar aún más sus posibilidades y mejorar su apariencia, podemos hacer uso de Oh My Zsh, lo cual podemos instalar fácilmente siguiendo las instrucciones de sus sitio web.

Autocompletado de directorios con cd

Cuando usamos el comando cd para trabajar con directorio, ZSH es capaz de mostrar cuales son los posibles directorio y subdirectorios a los que podemos acceder al escribir el comando y pulsar la tecla Tab.

Pero eso no es tan útil como la siguiente opción del comando cd.

Expansión de rutas

Yo lo llamo expansión de rutas, y lo que hace es que, poniendo por ejemplo /h/e/m/ al presionar la tecla Tab, Zsh nos auto-completa la ruta /home/elav/Música/

Cambio de directorio

Suponiendo que en realidad yo no quería acceder a /home/elav/Music, sino a /home/elav/Documents, con el comando cd podemos cambiar de directorios de la siguiente forma:

cd <directorio actual> <directorio deseado>

Pero la cosa no termina aquí. Ahora les muestro la funcionalidad que más uso posiblemente con ZSH y es la siguiente. Como sabemos, cuando ejecutamos varios comandos en Bash, estos se van guardando en un historial. Si queremos volver a repetir el comando anterior, simplemente con la flecha de arriba lo volvemos a mostrar ¿cierto?

Pues con ZSH es lo mismo, pero, tiene otra característica.. si antes de darle a la flecha de arriba, escribimos un comando, por ejemplo cd,  en vez de mostrar todos los comandos anteriores en el historial, nos mostrará, todo los comandos anteriores que ejecutamos solo con cd.

De todos modos, la mejor forma de entender lo que digo es usar ZSH, así que solo tienen que instalarlo. En el caso de ArchLinux y derivados:

$ sudo pacman -S zsh

Hay muchísimas otras cosas que podemos hacer con este intérprete de órdenes, pero ya queda por ustedes hacer la tarea 😉

Comparte:

¿Ideas? ¿Comentarios?

  1. Percaff_TI99 8 años atrás

    Vaya que Zsh tiene muchos trucos bajo la manga, aunque personalmente creo que con Bash me alcanza, soy un usuario que hace un uso mínimo de la consola. Sin embargo como bien dices Zsh tiene características que aumentan de manera notable la productividad, sobre todos para aquellos usuarios que hacen un uso más intensivo de la consola. Yo lo tengo instalado en Debian, veré si lo instalo en Antergos, siempre es bueno dominar este tipo de herramientas.

    Saludos.

    Responder
    1. @Percaff_TI99:

      Pues si, una vez que me acostumbré a usarlo, no pude volver a atrás.. me siento incómodo en Bash.

      Responder
  2. Gregorio Espadas 8 años atrás

    Yo tengo varios scripts propios que uso en bash… ¿funcionarían out-of-the-box o tengo que verificar algunas cosas para que funcionen en zsh?

    Responder
    1. @Gregorio Espadas:

      Funciona perfectamente.. 😉 incluso en zshrc es muy parecido al bashrc, solo cambian detallitos menores, para los alias, por ejemplo.

      Responder
    2. Marcelo 8 años atrás
      @Gregorio Espadas:

      @Gregorio Espadas: la diferencia entre bash y zsh a nivel scripting aparece cuando se programan funciones aritméticas, campo en el cual no se justifica el uso de programación en shell. Sacando fuera lo anterior, los scripts de bash son perfectamente compatibles con zsh.

      Responder
  3. rlsalgueiro 8 años atrás

    jaja, hasta que al fin, buen articulo. otra de las facilidades es que no tienes que escribir para nada cd para cambiar de directorio si lo tienes habilitado en las opciones de zsh simplemente con poner la ruta cambias,

    Responder
  4. Normalmente estoy a favor de estos trucos pero tengo tanto código legacy en bash… y tan poco tiempo para reescrituras, además uso autojump para saltos largos, y me gusta el hecho de encontrar la misma shell en cada pc y server que administro. #Bash4ever 🙂

    Responder
  5. MexicanJuaker 5 años atrás

    Gracias por los nuevos trucos, lo voy a usar para Apache Spark, Saludos.

    Responder
    1. @MexicanJuaker:

      Gracias a ti por comentar. Saludos

      Responder

Responder a systeminside ×

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.