Рекомендация-Zsh vs FishShell. Скрипты, производительность и poweruser perse

Я потратил некоторое время, пытаясь выбрать один, на чистые сравнения для zsh vs bash и fish vs bash. Но я не мог найти никакого сравнения для zsh vs fish. Я программирую на C и c++, Кроме типов hello-world, никогда не делал никаких крупных сценариев. Но теперь я пытаюсь использовать python и shell-скрипты. Какая оболочка сохраняет больше сока с точки зрения производительности, а затем развития? Или, в конце концов, сила и удобство использования любой оболочки приходит к ее _rc-файлам. Так достаточно ли я хороша? Баш?

4 ответов


исторически между оболочками C (CSH и TCSH) и Bash была своего рода огненная посуда. Жалоба на варианты CSH заключается в том, что они плохи для сценариев.

в те годы, когда я был наркоманом CLI, я никогда сделал любые автономные скрипты, где был выбран язык сценариев, потому что это то, что моя оболочка.

Я написал множество сценариев, которые в целом можно разделить на две категории:

  1. те, которые помогите моей производительности командной строки
  2. те, которые напрямую не связаны с моей производительностью командной строки.

Скрипты в категории 1. почти всегда написаны на моем языке сценариев оболочки (часто как функции, поскольку я использую ZSH и ранее использовал BASH, обе из которых поддерживают функции).

Скрипты в категории 2. написаны в том, что кажется наиболее эффективным (учитывается как время разработки, так и время выполнения). Я часто я пишу небольшие скрипты в Perl, C (скомпилированные, очевидно), BASH/ZSH/SH или что еще я хочу. Я сделал немного сценариев Python (но не много) и даже иногда прибегаю к Java (скомпилирован-иш, снова).

Так о чем я болтаю? Не основывайте свой выбор оболочки на ее автономных возможностях сценариев. Выберите свою оболочку, потому что она полезна вам как оболочка. Сценарий в любом другом, что вы выберете. Вы, вероятно, будете достаточно хороши с BASH в качестве оболочки (хотя мне нравится Zsh немного больше, **/* globbing хорош и несколько других мелочей, но большинство сценариев, которые я написал для ZSH, рано идентичны своим коллегам BASH).


Если вы не можете найти никакого сравнения между zsh и fish, то попробуйте их сами. Это единственный способ узнать, какой из них тебе больше нравится, никто другой не может сказать тебе этого. Кроме того, определите значение производительности. Для меня это обилие модулей и внутренние возможности языка. Если вы начали с Python, перейдите к нему. Что касается оболочек, вы можете узнать меньше об этом (не говоря уже полностью забыть об этом), что касается, возможно, понимания ваших rc-скриптов и других системных материалов так далее. Кроме того, Python может делать то, что делает оболочка.


вы будете наиболее продуктивны в среде, которую вы уже знаете. Я использовал bash в течение многих лет и его штраф. Это завершается почти все, может быть используется с git, ртутный ...


У меня был тот же вопрос и нашел :