He estado usando tcsh
durante mucho tiempo ahora. Pero cada vez que busco algo, a menudo encuentro que los métodos especificados son bash
específicos. Incluso la sintaxis para los scripts de shell es diferente para los dos.
Por lo que he experimentado buscando y aprendiendo en Internet, bash
parece ser el shell más común utilizado. Incluso el número de preguntas en este sitio etiquetado bash
es mucho más (cinco veces más actualmente) que el número de preguntas etiquetadas tcsh
.
Entonces, me pregunto si debería cambiar a bash. ¿Qué piensas?
¿Por qué debería apegarme tcsh
O por qué debería mudarme bash
?
zsh
(a qué OS X debería haber cambiado)dash
deberían funcionar en casi cualquier cosa.zsh
. Al mismo tiempo, no es divertido porque realmente no responde la pregunta de operaciones. Es por eso que hice mi respuesta zsh un comentario, no una respuesta. Sin embargo, a menos que tenga problemas para aprender a ejecutar el script tcsh, vaya con lo que sabe. Si tiene problemas para usar,tcsh
publique su problema aquí. No cambies solo porque . Hay más publicaciones de bash porque está instalado de forma predeterminada en más lugares, eso no lo mejora.Respuestas:
Después de aprender bash, encuentro que tcsh es un poco un paso atrás. Por ejemplo, lo que podría hacer fácilmente en bash me resulta difícil hacerlo en tcsh. Mi pregunta sobre tcsh . El soporte y la documentación de Internet también son mucho mejores para bash y muy limitados para tcsh. La cantidad de libros de O'Reilly sobre bash es excelente, pero no he encontrado nada similar para tcsh.
fuente
En realidad, deberías mudarte a
zsh
! Es esencialmente compatible con versiones anteriores y tiene toda la utilidad debash
una gran ayuda increíble . Incluso hay un libro (aunque no he podido leerlo).Admitiré una razón para no usar
zsh
más,bash
pero a menos que trabajes constantemente en varias instalaciones nuevas, realmente no se aplica. Especialmente si conoces las diferencias más significativas . Sin embargo, esto es realmente similar a las diferencias entrevim
yvi
; no quieres ser ingenuo pero prácticamente no es gran cosa. Incluso losvim
usuarios hardcore pueden orientarseemacs
y viceversa.fuente
Debería cambiar a un shell compatible con POSIX http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html , como uno de bash, ksh, dash, pero no zsh y ciertamente no tcsh. Ha pasado mucho tiempo desde que csh fue declarado una mala elección para las secuencias de comandos: http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ , tcsh no es muy diferente en esa área.
Al escribir scripts, asegúrese de usar construcciones de POSIX solamente (es decir, evite los bashismos y los me gusta) si no desea estar bloqueado nuevamente en algo no portátil.
fuente
La compatibilidad obsesionada está perdiendo el punto, creo. Si intenta hacer que todo sea compatible colocando
#!/bin/sh
en la parte superior y usando extensiones .sh , pero nunca prueba en nada más que bash , ¡no ha garantizado un script compatible! Es mejor usar#!/bin/bash
y .bash para que los usuarios realmente conozcan el requisito real.Si conoce zsh , tcsh u otra cosa mejor que bash , y tiene un buen manual de referencia, no se contenga . Al igual que las personas esperan instalar perl o python para poder ejecutar algunos scripts, ¡también pueden manejar la instalación de su oscuro shell! :RE
fuente
/bin/sh
garantiza que apunte a un shell compatible con korn mientras que tcsh es un shell derivado de csh. Es probable que/bin/sh
ya apunte a bash u otro shell compatible y es casi seguro que no se verá afectado por el cambio del shell del usuario . csh y sh son completamente incompatibles.dash
(ash
shell compatible con Debian y Bourne).#!/bin/sh
solo-ne
. Sin embargo, preocuparse por la compatibilidad POSIX no debería ser el tipo de consideración etiquetada como 'obsesionada'. Invocarsh
guión predeterminado con debian / ubuntu, y lo ha hecho por un tiempo. Sé que eso no calificaría como 'garantizado', pero rara vez consideraría algo de portabilidad 'garantizado'. Estaría aún más reservado con un 'script de shell'.Cual caparazón? Elija el que tenga la mejor relación "facilidad de uso" frente a "problemas" ...
Si no puede encontrar suficientes ejemplos generales y explicaciones para su caparazón "Maserati", entonces su rendimiento adicional puede ser más un problema que una bonificación ...
Encontré este artículo / sitio interesante; Puede valer la pena leer:
las diferencias de shell de UNIX y cómo cambiar su shell
fuente
zsh probablemente tiene algunas similitudes más con tcsh que bash.
Ver: http://zsh.sourceforge.net/FAQ/zshfaq02.html#l13
La gente a menudo afirma que zsh puede hacer cosas que bash no puede hacer, pero no he encontrado que ese sea el caso. Lo que he visto es que para zsh es más fácil, integrado o activado de forma predeterminada, mientras que en bash es un script adicional, tiene que estar activado o es más difícil.
(descargo de responsabilidad: soy un usuario bash que a veces ha considerado cambiar a zsh)
fuente
Por algún tipo de razones, solía tcsh, como lo usaba hace 20 años. Como sé, bash se originó a partir de sh pero, por supuesto, con muchas cosas de csh, pero tcsh se originó a partir de csh. Realmente me gusta la finalización del comando en los primeros días, pero ahora está disponible en la mayoría de los shells. Para las secuencias de comandos, ¿nos quedaremos con / bin / sh?
fuente