Я использую Linux Mint с марта 2020 года и не использовал никаких оболочек, кроме оболочки Bash.

Так в чем именно разница между оболочкой Bash и другими оболочками (Fish, Zsh, Ksh, Tcsh, C shell)? Команды разные? Или это особенности? Или что-то другое?
;)Пожалуйста, помогите новичку разобраться в оболочках!

-2
Wade Wayne 7 Апр 2021 в 23:00
Этот вопрос немного широк и не имеет реальной проблемы. В целом: синтаксис отличается, как и возможности и функции, а иногда даже ожидаемое поведение. Даже какая оболочка является стандартной, зависит от разновидности UNIX .... за исключением, конечно, POSIX-sh.
 – 
FelixJN
7 Апр 2021 в 23:35
 – 
KGIII
7 Апр 2021 в 23:36
 – 
glenn jackman
7 Апр 2021 в 23:41
См. ответ Жиля в разделе Каковы фундаментальные различия между основными оболочками *NIX?, которые изначально были выпущены в 2010 году. но вроде в точку. Там также есть ссылки, включая эту небольшую лекцию по истории: Почему Bash везде (в большинстве, если не во всех дистрибутивах Linux)? (на сайте superuser.com)
 – 
ilkkachu
8 Апр 2021 в 00:17
Вкратце: POSIX sh — это голая общая база. Ksh добавил в него полезные функции, большинство из которых затем были заимствованы в Bash. Zsh добавил больше полезности (ознакомьтесь с половиной ответов здесь), но по-разному, возможно, более разумно, но также нарушив совместимость. Fish пытается быть тем, о чем говорит название: красивой интерактивной оболочкой. Если вы нацелены на создание сценариев, вы можете изучить Zsh (и POSIX sh, если вам нужна совместимость). Если интерактивное использование, Зш или рыбка. Впрочем, Баш не так уж и плох. Забудьте о (t)csh.
 – 
ilkkachu
8 Апр 2021 в 00:27

1 ответ

Основная роль оболочки — позволить вам запускать программы, установленные в вашей системе. Как следствие, все оболочки командной строки позволяют запускать практически одни и те же команды. Различия заключаются в очень небольшом количестве команд, встроенных в сами оболочки, которые немного различаются между оболочками.

Оболочки различаются главным образом средствами программирования и возможностями командной строки (дополнение, вызов истории, удобство синтаксиса и т. д.). Видеть Каковы фундаментальные различия между основными *NIX снаряды?. Оболочки отвечают за редакцию командной строки, и это тоже зависит от оболочки.

Для интерактивного использования по умолчанию в Linux используется bash, а в macOS — zsh. Если вы начали привыкать к bash, вы можете прочитать мое руководство, почему zsh лучше. Единственным другим серьезным претендентом на интерактивное использование является fish, у которого хорошие настройки по умолчанию, но мало возможностей для настройки.

1
Gilles 'SO- stop being evil' 8 Апр 2021 в 00:43