12
votes

Recommandation - ZSH vs Fishshell. Scrips, productivité et PowerUser persé

J'ai passé quelque temps à essayer de choisir un, sur des comparaisons nettes pour ZSH vs Bash et poissons vs Bash. Mais, je ne pouvais trouver aucune comparaison pour zsh vs poisson. Je programme en C et C ++, mis à part des types de Hello-World, n'a jamais fait de script majeur. Mais j'essaie maintenant mes mains sur Python et Shell-scripts. Quelle coquille maintient plus de jus de fruits en termes de productivité d'abord, puis de développement? Ou à la fin, la puissance et la convivialité de n'importe quel shell se situent à ses fichiers _rc. Alors suis-je assez bon avec Bash?


4 commentaires

poisson pour une utilisation interactive, zsh pour script - si c'est juste entre ces deux. Personnellement, je pense que rester dans de bonnes habitudes: la conformité POSIX SH est suffisamment importante pour rester avec Bash, ou KSH si je me soucie davantage de la performance.


... Cela dit, cette question est explicitement contre les règles ici; Il y a une raison de près spécifiquement pour les demandes de recommandations-a-outil, et une autre pour les questions ciblées sur les opinions.


Bonne comparaison de différentes coquilles - hyperpolyglot.org/unix-shells


Une chose: essayer de saisir la gamme complète de la fonctionnalité Bash est assez facile. Essayer de faire la même chose avec ZSH est presque impossible. Il y a tellement de possibilités. C'est comme la C ++ des langues shell. Cela peut être une bonne chose ou une mauvaise chose. J'ai utilisé Bash depuis quelques années, puis changé en ZSH pendant une année environ, puis j'ai changé, car je me sentais comme essayer de comprendre ZSH venait dans la voie de ma productivité générale.


4 Réponses :


5
votes

Si vous ne trouvez aucune comparaison entre ZSH VS Fish, puis essayez-les vous-même. C'est la seule façon de dire que vous préférez dire lequel vous préférez, personne d'autre ne peut vous dire ça. De plus, définir le sens de la productivité. Pour moi, c'est l'abondance de modules et des capacités internes de la langue. Si vous avez commencé avec Python, allez-y. Quant aux coquillages, vous pouvez en apprendre moins (ne pas dire totalement l'oublie de cela), en ce qui concerne peut-être comprendre vos scripts de RC et autres supports système, etc. Au-delà de cela, Python peut faire ce que le shell fait.


0 commentaires

3
votes

Vous serez le plus productif dans un environnement que vous connaissez déjà. J'ai utilisé Bash depuis des années et c'est bien. Il complète presque tout , peut être utilisé avec git , Mercurial ...


1 commentaires

Chaque coquille peut être utilisé avec git, mercurial, etc :-)



14
votes

Historiquement, il y avait une superficie de la nature entre les coquilles C (CSH et TCSH) et Bash. La plainte contre les variantes de la CSH est qu'elle est mauvaise pour les scripts.

Dans les années où j'ai été un CLI Junkie, j'ai Jamais fait tous les scripts autonomes où le langage de script a été choisi parce que c'est ce que ma coquille était.

J'ai écrit une variété de scripts pouvant être largement divisés en deux catégories:

  1. ceux qui aident ma productivité de la ligne de commande
  2. ceux qui ne sont pas directement liés à ma productivité de la ligne de commande.

    Les scripts de la catégorie 1. sont presque toujours écrits dans ma langue de script shell (souvent comme des fonctions que j'utilise ZSH et utilisaient auparavant Bash des deux fonctions de support).

    Les scripts de la catégorie 2. sont écrits dans tout ce qui semble être le plus efficace (le temps de développement et le temps de fonctionnement pris en compte). Je me trouve souvent en train de écrire de petits scripts à Perl, c (compilé, évidemment), bash / zsh / sh ou que d'autre je veux. J'ai fait un petit script python (mais pas beaucoup), et même le recours à Java à l'occasion (compilé-ish, encore).

    Alors, que suis-je babillant? Ne basez pas votre choix de coquille sur ses capacités de script autonome. Choisissez votre shell pour votre utilité pour vous en tant que shell. Script dans tout ce que vous choisissez. Vous serez probablement assez bon avec Bash comme votre coquille (bien que j'aime ZSH un peu plus, ** / * Globbing est agréable et quelques petites choses, mais la plupart des scripts que j'ai écrits pour ZSH sont très identiques à leur bash. contreparties).


1 commentaires

Re: ** / * - Les versions modernes (4.x) de bash appuient également des globs récursifs; Voir shopt -s globstar . La chose qui est une grande différence à mon avis est le comportement de fractionner des string sur les expansions non cotées; ZSH fait-t-il la voie saine, alors que Bash le fait la façon dont cela est compatible avec Posix. Il y a certainement beaucoup de place à la différence légitime de ce que l'on préfère ici; Personnellement, je vais au respect de la norme mal pensée mais omniprésente.



6
votes

J'ai eu la même question et j'ai trouvé:


0 commentaires