Bash или Zsh, какая разница, зачем использовать тот или иной?
Итак, вопрос в значительной степени говорит обо всем этом. Я на Snow Leopard, и я делаю много веб-разработок, особенно в Rails 3, который сильно использует консоль.
Я видел некоторых заметных блоггеров и т. д. упомянул Zsh как их предпочтение над Bash, но я не знаю, какая разница в этом.
Может ли кто-нибудь дать мне хорошее сравнение того, какая разница есть и что может заставить кого-то выбрать один или другой вариант?
Спасибо!
1 ответ
Это из Zsh FAQ :
2.5: сходства с bash Bourne-Again Shell, bash, является еще одной улучшенной оболочкой, подобной Bourne; наиболее очевидным отличие от zsh заключается в том, что он не пытается подражать оболочке Korn. Поскольку оба раковины находятся в активной разработке, вероятно, неразумно быть слишком конкретными Вот. В целом, bash уделяет больше внимания соблюдению стандартов (т. Е. POSIX) для дольше, и до сих пор избегал более заумных интерактивных функций (программируемых завершение и т. д.), что zsh имеет.
Я использовал их оба, но сейчас предпочитаю Bash, потому что машины, на которых я работаю, по умолчанию постоянно изменяют. Замечание о соблюдении стандартов важно для меня, потому что это означает согласованность между ОС.
У Zsh есть хорошие способности автозаполнения, но я продолжал искать случаи, когда он не знал, чего я хотел. Это было несколько лет назад, поэтому с тех пор он мог бы улучшиться.
Я обнаружил, что включение «vi-mode» (set -o vi
) в Bash делает его гораздо более приятной средой командной строки, чем это нормально, поэтому я делаю это сразу в файле .bashrc
.
При написании сценариев оболочки я никогда не программирую ни в bash, ни в zsh-I программе, используя sh (/bin/sh
), потому что это самый низкий общий знаменатель и наименее вероятный проблема совместимости. Это просто старая привычка, которая хорошо меня поддержала.