Zsh, la shell que "mejora" Bash

terminal
zsh
bash
gnulinux

#1

En las comunidades linuxeras de Reddit siempre se ven Arch Linux, iw3, neofetch y ZSH como shell.

Este último punto me llamaba bastante la atención. Pero no ha sido hasta ahora cuando me he aventurado a instalar ZSH, y configurarlo para que sea bonito y funcional.

Un resumen rápido de sus ventajas son:

  • Personalizable al detalle.
  • Prompt de Git integrado (creedme que es genial)
  • Bash extendida (navegar por ficheros es mucho más cómodo con ZSH)
  • OhMyZSH, un framework para personalizar la shell

Ahora mismo, la mía (Terminator) está tal que así.

En OhMyShell hay cerca de 200 temas diferentes para que escojas el que más rabia te de. Pero como yo soy muy tiquismiquis y me gusta aprender como va esto por debajo, he montado mi propio tema (el de la imagen).

https://github.com/JuanjoSalvador/dotFiles/

¡Ale!


#2

Si me permites un consejo, quítale el > al prompt. He visto verdaderos desastres por arrastrar el redirector en un copy & paste truncando algún fichero crítico.


#3

Pues no lo había pensado, vaya. Pues prompt vacío y santas pascuas.

Hay una cosa de Zsh que no me gusta, y que seguramente sea cosa mía por no haberlo configurado bien, y es el historial de comandos. El de bash es un lujo, pero este… Puede llegar a ser caótico.


#4

Yo me quedo con la tradicional, que todavía tengo pendiente configurarla.


#5

Para vitaminar bash tenéis el proyecto bash-it

Saludos


#6

Pero no es tan configurable como Zsh, que es to cool (y 100% compatible con Bash)


#7

Cosas guays: Zsh también se puede instalar en el subsistema Linux de Windows 10.


#8

Yo lo llevo usando desde hace tiempo en Linux y OSX por un sencillo motivo: historial de comandos por comando.

Es decir, tú sabes que hace siglos usaste un comando ssh por ejemplo del que no recuerdas la ip, por ejemplo. Pues escribes “ssh” y a base de darle a ↑ llegas filtrando sólo las últimas llamadas de dicho comando. O con ffmpeg, no recuerdas la última configuración que usaste de códecs, pues ffmpeg y arriba.

Imagino que habrá plugins o configuraciones que hagan lo mismo en otras shells, pero si a eso le juntas toda la personalización y plugins que trae zsh… Me quedo con este sin duda.


#9

Hola, retomo este tema para comentaros acerca del intérprete de comando xonsh [1].

Llevaba tiempo buscando un intérprete de comandos python, esto es, que el lenguaje de programación que ofrece, y la gestión de resultado de órdenes del REPL se pudiera tratar desde instrucciones Python directamente. Pues este intérprete es un REPL Python 3 con sus añadidos, vamos, por lo que estoy viendo un reemplazo de bash para hacerlo todo de forma más pythonic.

Ejemplo tonto:

andy@local ~ $ ls
Descargas   Escritorio   Música      Scratch         bin
Documentos  Grabaciones  Plantillas  VirtualBox VMs  eclipse
Imágenes     Público     Vídeos          tmp
andy@local ~ $ $(ls).split('\n')
['Descargas',
 'Documentos',
 'Escritorio',
 'Grabaciones',
 'Imágenes',
 'Música',
 'Plantillas',
 'Público',
 'Scratch',
 'VirtualBox VMs',
 'Vídeos',
 'bin',
 'eclipse',
 'tmp',
 '']

[1]: xonsh: http://xon.sh/


#10

Oye pues está muy guapens.


#11

Yo prefiero seguir con bash, todavía tengo pendiente tunearla


#12

Yo estoy encantadisisisimo con zsh

Aquí dejo un minitutorial e instalación para lusers como yo, por si queréis darle una oportunidad


#13

Zsh Master Race


#14

lo confieso: esta mañana he probado zsh (porque la extension de bash que venia usando hasta ahora, en el terminal que tengo para las mañanas funciona un poco lenta), y me ha sorprendido muy gratamente. Imagino que ya no hay vuelta atras, claro…


#15

ZSH es la hostia!!!


#16

Dada tu reacción… Me temo que no :stuck_out_tongue:

Y aquí tienes una inmensa cantidad de cosas bonitas por si quieres extender más aún Zsh


#17

hehehe…
la coleccion de alias sobre git es para enmarcarla!

perdido me has!


#18

¿Es complicado cambiar a zsh por defecto?


#19

Para nada, está tirado, solo haz
chsh -s 'which zsh'


#20

Coño, yo tuve que modificar el .bashrc para que cargase Zsh al iniciarse. Eso mola más.