best counter
Z shell, un shell portentoso
MuyLinux

Z shell, un shell portentoso

19/01/2012| por | 18 comentarios

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 500x91Z 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!

Hay 18 comentarios

  1. 1
    freebsddick dice:

    Buena referencia de articulo hace algun tiempo que vengo viendo buenas referencias de ella. En openbsd usamos por defectoi ksh por lo que un cambio por lo general trae ciertas incomodidades a los usuarios no quizas por las funcionalidades sino por como convivir con ellas a largo plazo sin embargo no deja de ser buena opcion para aquellos dispuestos a probar cosas nuevas en sus equipos.

  2. 2
    gsar dice:

    Zsh no es completamente compatible con Bash.

    Si leemos este enlace:
    http://zsh.sourceforge.net/FAQ/zshfaq02.html
    Notaremos que algunas características son ligeramente diferentes (y por lo tanto algo a tener muy en cuenta si se quieren evitar dolores de cabeza).
    Tampoco es totalmente POSIX (aunque provee varios modos de lograr cierta compatibilidad).
    Tampoco tiene la misma integración con Perl o Python.
    Es decir que tiene sus particularidades (no es Bash, pero más bonito o completo).

    Su soporte unicode recién es técnicamente estable en su última versión, aunque con algún error ocasional (si eres hispanohablante, entonces te gustará que tu shell soporte perfectamente cosas tan elementales como los acentos o las “ñ” según UTF).

    En el caso de ciertas distribuciones que utilizan scripts de bash para su funcionamiento, es necesario modificar ciertas cosas (Por ejemplo, en Gentoo necesitas instalar un paquete adicional solo para que Portage y otras herramientas no revienten).

    También puedo ver ciertos foros que puede generar algunos problemas con KDE y Gnome.

    La shell es una parte muy importante del sistema (como GCC o las X), y hay que ser cuidadoso a la hora de hacer un giro muy fuerte.

    Si todo fuera tan fantástico (por cierto, su licencia me gusta menos que la GPL) ya sería parte de GNU o de BSD por defecto.

    Eso si.
    Picajoso. Me gustan mucho este tipo de entradas. Son un poco más técnicas, pero muy interesantes. Un puntazo para ti :D

    • 12
      A mí no me pagan por opinar dice:

      ¿De dónde sale ese cuento del paquete adicional para que Portage no reviente? Yo llevo usando Zsh sin problemas en mi Gentoo desde hace dos años. Mucha desinformación por acá.

  3. 3
    Queretaro dice:

    “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 …”. Meehhh, sigo con bash, soy demasiado viejo (24) para que el “acabado visual” sea preponderante en mi decision de que shell usar. Suerte ñoños.

    • 13
      A mí no me pagan por opinar dice:

      Hay cosas más importantes e interesantes de zsh, como el autocompletado, funciones complejas e integración con Git. Puede mantenerse en su mediocridad, ñoño.

  4. 4
    Patrick dice:

    A mi lo que me gustaría es que en un “dist-upgrade” el aviso de “se eliminaran tal y tal paquetes” este de color llamativo.

    Porque aunque se piense que la mayor protección es imponer muchas conminaciones de ingresar la contraseña, uno al final se acaba acostumbrando y las escribe al final ya sin dar se cuenta. Lo que como novato te quedas leyendo detenidamente y luego piensas si de verdad quieres hacer lo o no, acabas desechando esa buena costumbre.
    Pierdes esa “magia” de pararte a pensar!
    Justo antes de ayer, me pasó por ejemplo. Hice un update, y luego un dist-upgrade. Resultado? Como no me paré a leer y automáticamente afirmé, se me borró gnome-shell, ntfs-progs entre y eog entre otras muchas cosas. Ahora utilizando la mi*rda da unity sin reloj ni calendario!!

  5. 5
    Patrick dice:

    Me llama mucho la atención lo de:
    Corrección tipográfica: si ponemos “aptg-et” nos saldrá un mensaje tipo “ssh: correct 0aptg-et’ to ‘apt-get’ [nyae]?“.

    Suena a las mil maravillas!

  6. 6
    Felipe Gomez dice:

    Estimado señor Picajoso esto es lo más interesante y sin polémicas que he leído en este blog. Gracias.

  7. 7
    Andrés dice:

    Me complican los scripts bash :(

  8. 8
    Hector Macias Ayala dice:

    Off Topic urgente:

    Cierran Megaupload!!

    http://www.genbeta.com/actualidad/megaupload-anuncia-su-cierre

    Acabo de intentar entrar y ya no se puede.

    • 11
      MichaelSOG dice:

      ¿Por qué es tan urgente?

      Sobre el tema, zsh lo he usado demasiado poco y no creo que cambie a BASH por él, al menos no de momento.

  9. 9
    jesus dice:

    chequen eso megaupload lo cerraron, y ya hasta anonymous anda tras el justice.gov o gob.

  10. 10
    # dice:

    Me gusta.

  11. 14
    msardisco dice:

    Mas info: http://grml.org/zsh/zsh-lovers.html

  12. 15
    elfandelinux dice:

    buen artículo.. pensé que era el único (bash)

  13. 16
    dhunter dice:

    Las funcionalidades de completamiento están geniales. Pongan aptitude tab y verán.

  14. 17
    Sau dice:

    ¿Han oído acerca de IPython?

  15. 18
    fer dice:

    alguien sabe como cambiar el autocompletar para ksh?
    no quiero usar el ESC+\ quiero poder definir el TAB
    gracias

Escribe tu comentario