Pregunta

El shell por defecto en Mac OS X es bash, que en general estoy feliz de estar utilizando.Acabo de tomar por sentado.Sería muy bueno si se auto-completado más cosas, bien , y yo he oído cosas buenas acerca de zsh en este sentido.Pero yo realmente no tienen la inclinación de pasar horas y horas jugando con la configuración para mejorar mi línea de comandos de uso por parte de una pequeña cantidad, ya que mi vida en la línea de comandos no es tan mala.

(Como yo lo entiendo, bash también puede ser configurado para auto-completar más inteligentemente.Es la configuración que yo no estoy interesado en.)

Va a cambiar a zsh, incluso en un pequeño número de casos, hacer mi vida más fácil?O es solo una mejor shell si usted pone en el tiempo para aprender por qué que es mejor?(Ejemplos sería agradable, también :) )


@Rodney Amato & @Vulcan Con Ganas dar dos buenas razones para, respectivamente, se adhieren a bash y cambiar a zsh.Parece que voy a tener que investigar tanto!Oh bien :)

Hay alguien con una opinión de ambos lados de la discusión?

¿Fue útil?

Solución

Para uso casual usted está probablemente mejor quedarse con bash y sólo la instalación de bash finalización.

La instalación es bastante fácil, hazte con el bash-completion-20060301.tar.gz de http://www.caliban.org/bash/index.shtml#completion y extraer con

tar -xzvf bash-completion-20060301.tar.gz

a continuación, copie el bash_completion/bash_completion archivo /etc con

sudo cp bash_completion/bash_completion /etc

que se le preguntará por su contraseña.Usted probablemente querrá hacer un /etc/bash_completion.d directorio para cualquier adicional de finalización de secuencias de comandos (por ejemplo yo tengo el git de finalización de la secuencia de comandos de allí).

Una vez hecho esto el último paso es asegurarse de que el .bash_profile archivo en su directorio de inicio ha

if [ -f /etc/bash_completion ]; then
     . /etc/bash_completion 
fi

en que se carga la finalización de archivo al inicio de sesión.

Para probarlo sólo tienes que abrir un nuevo terminal, y tratar de completar en cvs y se debe mostrar la cvs opciones en la lista de terminaciones.

Otros consejos

Personalmente, me encanta zsh.

Por lo general, usted probablemente no notará la diferencia entre ella y bash, hasta que quiera para rápidamente hacer cosas como recursiva de esta expansión:

  • **/*.c por ejemplo.

O usar el sufijo alias asociar las progs con diferentes sufijos, por lo que se puede "ejecutar" ellos directamente.El siguiente alias le permite "ejecutar" un archivo de código fuente de C en la línea de comandos escribiendo ./my_program.c – que funcionará exactamente como si escribió vim ./my_program.c.(Una especie de equivalente a hacer doble click en el icono de un archivo).

  • alias -s c=vim

O imprima los nombres de los archivos modificados de hoy:

  • print *(e:age today now:)

Usted probablemente puede hacer todas estas cosas en bash, pero mi experiencia con zsh es que si hay algo que quiero hacer, es probable que pueda encontrar en zsh-los amantes.También me encuentro con el libro 'De Bash a Z-Shell'realmente útil.

Jugando con la mente bogglingly gran número de opciones es muy divertido también!

Cambiar a zsh.Usted tendrá acceso a:

  1. zmv:Usted puede hacer: zmv '(*).mp3' '$1.wma' para miles de archivos.
  2. zcalc:Extremadamente cómodo, calculadora, mejor que bc.
  3. zparseopts:One-liner para analizar arbitraria complejo opciones que se ofrecen a la secuencia de comandos.
  4. autopushd:Siempre se puede hacer popd después de cd para cambiar de nuevo a su directorio anterior.
  5. De punto flotante de apoyo.Es necesaria de vez en cuando.
  6. Hash de apoyo.A veces son sólo una característica clave.

Si todo lo que usted desea utilizar ZSH es mejor terminación, la configuración es bastante sencilla.El lugar esta en tu ~/.zshrc como:

autoload -U zutil      # [1]
autoload -U compinit   # [2]
autoload -U complist   # [3]
compinit

Sin embargo, es digno de la comprobación hacia fuera de todos los otros grandes características de la ZSH.El ejemplo de arriba le dará un bastante llano rápido, con buena terminación.Si usted no quiere jugar con las configuraciones, pero quiero ver lo que ZSH puede hacer por usted, en Google "zshrc como" y usted recibirá listo para usar configuraciones para empezar.

zsh tiene una consola de configuración gui cosa.Usted puede configurar rápidamente y fácilmente sin tener que pelearme con los archivos de configuración.Yo no creo que se necesite mucho tiempo para configurarlo, probablemente 10 segundos con el solo uso de valores predeterminados, así que adelante y probarlo.

Staale está hablando de una forma de asistente de programa (CUI), que se autoejecute la primera vez que ejecute zsh.Sólo tienes que responder algunas preguntas, ver o cambiar los valores predeterminados y su configurado para usted.

IBM developerWorks tiene grandes recursos en zsh.

No he utilizado tiene características muy avanzadas, y hasta ahora no he encontrado grandes diferencias que deben obstaculizar alguien que viene de bash.

Algunos ejemplos:

  • !?patrón<Tab> se que la función autocompletar el último comando en la historia de coincidencia patrón.Muy útil.

  • Usted puede configurar un sistema en el RHS.Uno de los usos es para mantener un fijo ancho de símbolo del sistema en el lado izquierdo así que todos los comandos de la línea de arriba muy bien, mientras que la visualización de la pwd (o cualquier cosa de ancho variable) como la mano derecha lado de símbolo del sistema.

  • Puede redirigir la entrada de varios archivos (sin embargo, para tratar de este):gato < archivo1 < archivo2 < archivo3

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top