19 ene 2012

Z shell, un shell portentoso

No lo digo yo: lo dicen todos los que lo han utilizado durante un tiempo. De hecho, hasta ahora he sido un devoto usuario de bash, el shell por defecto en la inmensa mayoría de distribuciones Linux, pero puede que tras leer bastante sobre el tema acabe migrando a zsh, un shell que ofrece muchas mejoras comparativas.

zsh 500x91 Z shell, un shell portentoso

Todo comenzó a raíz de un post en Avalon Star, un blog en el que su autor explicaba cómo llevaba tan solo usando un fin de semana zsh -aunque ya había oído hablar de él mucho antes- y estaba realmente encantado.

Su cambio de shell se produjo a raíz de este post de otro artículo titulado “My Command Line Prompt” en PepCode en el que Geoffrey Grosenbach y Paula Lavalle hablaban de las muchas y buenas ventajas de  Z Shell, un tipo de terminal que apareció incluso antes que bash pero que por alguna inexplicable razón no ha tenido la relevancia que merece.

Entre otras cosas, uno de los apartados más destacados es el acabado visual que puede tener la terminal con zsh, y en el que se conjugan tipografías, disposición de los mensajes y los temas disponibles para personalizar su aspecto. Aquí tenéis un ejemplo de cómo personalizar ese aspecto en función de lo que hagáis en zsh. Aquí tenéis otra guía de iniciación a Z Shell.

Pero hay mucho más: como se revela en esta página y sobre todo en este artículo de Fried CPU, las ventajas de zsh comienzan con su compatibilidad total con bash: todo lo que hacemos en bash es idéntico en zsh, así que no perderemos ninguna característica. Pero es que a partir de ahí surgen ventajas muy interesantes como:
  • Corrección tipográfica: si ponemos “aptg-et” nos saldrá un mensaje tipo “ssh: correct 0aptg-et’ to ‘apt-get’ [nyae]?“.
  • Autocompletado inteligente con el tabulador: puede que bash lo haga, pero en zsh esto va más allá, con la presentación de resultados en un menú navegable con los cursores, o con la posibilidad de matar los procesos con kill seleccionándolos con un listado que nos presenta zsh al utilizar el comando.
  • Compartir el historial en múltiples sesiones
  • Paginación integrada: no más pipes del tipo ” |more”, nada de usar less directamente. Podemos escribir <README, lo que equivale a “less README” o a “cat README | less
  • Globbing supervitaminado: o cómo aprovecharnos de la potencia de los caracteres comodín (asteriscos, corchetes, etc).
  • Lenguajes de script mucho más claros
Y un largo etcétera, como podéis comprobar en el enlace que también os he pasado. Razones convincentes, ¿no creéis? ¡Habrá que darle una oportunidad a zsh!

Source