He pasado algún tiempo tratando de elegir uno, en las comparaciones netas son para zsh vs bash y fish vs bash. Pero no pude encontrar ninguna comparación para zsh vs fish. Programo en C y C++, aparte de los tipos de hello-world, nunca hice ningún script importante. Pero ahora estoy probando Python y Shell-Scripts. ¿Qué caparazón mantiene más jugo en términos de productividad primero y luego desarrollo? O al final, la potencia y usabilidad de cualquier shell llega a sus archivos _rc. Entonces, ¿soy lo suficientemente bueno con bash?Recomendación - Zsh vs FishShell. Scripts, productividad y poweruser perse
Respuesta
Históricamente hubo una clase de llama entre las conchas C (CSH y TCSH) y Bash. La queja contra las variantes de CSH es que son malas para las secuencias de comandos.
En los años que he sido un adicto a la CLI, he nunca hice scripts independientes donde se seleccionó el lenguaje de scripting porque así era mi caparazón.
He escrito una variedad de secuencias de comandos que pueden dividirse en dos categorías:
- los que ayudan a la productividad de mi línea de comandos
- Los que no están directamente relacionados con la productividad de mi línea de comandos.
Los guiones de la categoría 1. casi siempre están escritos en el lenguaje de guiones de mi intérprete de órdenes (a menudo como funciones cuando uso ZSH y antes usaba BASH las funciones de soporte).
Los scripts en la categoría 2. se escriben en el aspecto que parezca más eficiente (tanto el tiempo de desarrollo como el tiempo de ejecución tomados en consideración). A menudo me encuentro escribiendo pequeños guiones en Perl, C (compilados, obviamente), BASH/ZSH/SH o cualquier otra cosa que quiera. He hecho un poco de scripts en Python (pero no mucho), e incluso recurro a Java ocasionalmente (compilado, de nuevo).
¿De qué estoy hablando? No base su elección de shell en sus capacidades de scripting independientes. Elija su caparazón para su utilidad como caparazón. Script en cualquier otra cosa que elija. Probablemente seas lo suficientemente bueno con BASH como tu caparazón (aunque me gusta ZSH un poco más, **/* globbing es agradable y algunas otras cosas pequeñas, pero la mayoría de los guiones que he escrito para ZSH son idénticos a su BASH contrapartes).
Re: '**/*' - versiones modernas (4.x) de bash también admiten globs recursivos; ver 'shopt -s globstar'. Lo que en mi opinión es una gran diferencia es el comportamiento de división de cadenas en expansiones sin comillas; zsh lo hace de la manera correcta, mientras que bash lo hace de la manera que es compatible con POSIX. Definitivamente hay mucho espacio para la diferencia legítima en términos de lo que uno prefiere aquí; personalmente, me comprometo a cumplir con el estándar mal pensado pero omnipresente. –
si no puedes encontrar ninguna comparación entre zsh vs fish, entonces pruébalos tú mismo. Esa es la única forma en que puedes decir cuál prefieres, nadie más puede decírtelo. Además, defina el significado de la productividad. Para mí, es la abundancia de módulos y las capacidades internas del lenguaje. Si has comenzado con Python, ve por ello. En cuanto a las conchas, puedes aprender menos (no decir que te olvides por completo), con respecto a tal vez entender tus scripts de rc y otros elementos del sistema, etc. Además de eso, Python puede hacer lo que hace el caparazón.
Será más productivo en un entorno que ya conoce. Usé bash durante años y está bien. Es completes almost everything, puede ser used with git, mercurial ...
* cada * shell se puede usar con GIT, Mercurial, etc :-) – Brian
que tenían la misma pregunta y encontrado:
- página que compara Unix Shells: Bash, Fish, Ksh, Tcsh, Zsh;
- Bash vs Zsh (vs Fish) un hilo reddit;
- What are the best Unix shells?
- 1. diferencia entre el "Proyecto de recomendación" y la "Recomendación Candidato"
- 2. inyección de dependencia y el desarrollo de la productividad
- 3. Rake vs. Thor para scripts de automatización?
- 4. Problemas de Zsh y RVM (rvm-prompt no se resuelve)
- 5. ¿Completar Zsh?
- 6. Pow, RVM y ZSH no funcionan juntos
- 7. Productividad de desarrollo de Ruby on Rails vs. Java en 2009
- 8. Fragmentos de productividad: recopile el código correcto
- 9. instalación de preparación para zsh?
- 10. scripts de Nhibernate y sql
- 11. LuaL_openlibs() y scripts de sandboxing
- 12. Rails 3 Recomendación CMS
- 13. ¿Recomendación del libro HTTP?
- 14. TFS Recomendación de ramificación
- 15. clon profundo recomendación utilidad
- 16. zsh diferencia finalización
- 17. zsh alias -> función?
- 18. Algoritmo de recomendación
- 19. ZSH Bindkey Búsqueda inversa
- 20. Motor de recomendación Python
- 21. zsh alias expansion
- 22. Zsh Sugerencia de paquete
- 23. Bash o Bourne Scripts?
- 24. Scripts SQL en Subversion
- 25. Necesito recomendación/sugerencia de tecnología
- 26. Algoritmo de sugerencia/recomendación simple
- 27. Tag/recomendación basada palabra clave
- 28. ASP.net MVC recomendación 3 tutorial
- 29. Comando de fecha con zsh
- 30. ¿Qué significa [nyae] en Zsh?
'fish' para uso interactivo,' zsh' para scripting - si es sólo entre los dos. Personalmente, creo que mantener buenos hábitos con respecto al cumplimiento de POSIX sh es lo suficientemente importante como para seguir con bash, o ksh si me importa más el rendimiento. –
... dicho esto, esta pregunta está explícitamente en contra de las reglas aquí; hay una razón cercana específicamente para recomendar solicitudes de herramienta, * y * otra para preguntas enfocadas en la opinión. –
Buena comparación de diferentes shells - http://hyperpolyglot.org/unix-shells – valentt