6 альтернативных оболочек Linux для продвинутых пользователей

Bash, или Bourne Again Shell, предустановлен на большинстве дистрибутивов Linux. Однако это не единственная оболочка. Есть несколько других, которые стоит попробовать. Вот шесть альтернативных оболочек, которые могут заменить bash. У каждой из них есть свои плюсы и минусы, поэтому вам нужно попробовать их и увидеть, какая из них лучше для вас.
Содержание
- sh (или Bourne Shell)
- Dash
- csh (или C Shell)
- ksh (или Korn Shell)
- zsh (или Z Shell)
- Fish
Совет: Устали использовать Bash? Узнайте, как изменить вашу оболочку по умолчанию в Linux.
1. sh (или Bourne Shell)
Bourne shell, названная в честь своего создателя Стивена Борна, была одной из первых оболочек. Можно сказать, что она использовалась как основа, на которой создан Bash. Иногда пользователи путают обе и думают, что они одинаковые, хотя это не так. Верно, что многие .sh скрипты будут работать и на Bash, потому что Bash включает много из Sh, но обратное не верно.

Вы можете рассматривать Sh как предшественника Bash. У нее не так много функций, но она более стандартизирована, чем Bash.
2. Dash
Dash по сути является Bash на системах Debian. Если вы используете дистрибутив на основе Debian, скорее всего, вы используете Dash, а не Bash. Однако из-за сложности использования Dash в качестве оболочки по умолчанию, Ubuntu (дистрибутив на основе Debian) решила использовать Bash для интерактивных скриптов, а не Dash в качестве оболочки по умолчанию.

Dash не имеет многих функций Bash, таких как автозавершение и история команд, но она быстрее и гораздо меньше по размеру (100K против 900K), что является фактором, если вы используете ее на не слишком мощном компьютере.
Также читайте: Как использовать Sed в Linux
3. csh (или C Shell)
Языки программирования C и C++ были довольно популярны, и большие части самого Linux написаны на них. Вот почему не удивительно, что существует оболочка – C Shell или Csh – которая использует синтаксическую модель C. Если вы свободно владеете C, эта оболочка будет вам естественна.

Однако у оболочки Csh было довольно много ошибок и не так много функций. Вот почему на сцене появилась оболочка Tcsh. Tcsh исправила большинство ошибок и добавила новые функции, такие как автозавершение команд, управление заданиями, исправление орфографии и т.д. К сожалению, Tcsh и Bash очень разные, что означает, что вы не можете запускать скрипты Bash в Tcsh и наоборот.
Также читайте: Что такое Log4Shell и как защитить вашу систему Linux от него
4. ksh (или Korn Shell)
Ksh, или Korn shell (названная в честь своего создателя Дэвида Корна), была представлена примерно в то же время, что и Tcsh, но в отличие от Tcsh, она совместима с Sh и Bash. Она была собственностью AT&T до 2000 года, и именно поэтому она не стала такой популярной. Ksh добавляет больше функций к Sh, таких как арифметика с плавающей запятой, управление заданиями, псевдонимы команд и автозавершение команд.

5. zsh (или Z Shell)
Оболочки, перечисленные до сих пор, были созданы в основном в 1970-х. Компьютеры прошли долгий путь с тех пор, и это требует новых оболочек. Одной из популярных новых оболочек является Z shell, или Zsh. Она была создана Полом Фалстадом в 1990 году.

У нее есть функции Bash и некоторые дополнительные, такие как файлы запуска, отслеживание входа/выхода и встроенные программные функции, такие как байт-код, поддержка научной нотации в синтаксисе, арифметика с плавающей запятой, закрывающие комментарии, концепция, переменные, функции и индекс клавиш. Если вы ищете более продвинутую оболочку, попробуйте Z shell.
6. Fish
Поиск более современных оболочек не закончился на Fish. Новое столетие принесло новые оболочки, такие как Fish (или Friendly Interactive Shell). Она была выпущена в 2005 году и не основана на оболочке Sh. Ее наиболее отличительной чертой является уникальный синтаксис командной строки, который предназначен для более удобного использования новичками. У нее также есть несколько интересных функций, таких как автоматические предложения, выбор с помощью стрелок, поддержка X буфера обмена, 256 цветов терминала и т.д.

Основной недостаток Fish заключается в том, что она очень отличается от Bash и других оболочек на основе Bourne. В результате вы не можете переносить код (и знания) из Fish в Bash и Sh.
Так какая оболочка лучше? К сожалению, на этот вопрос нельзя ответить. У всех них есть свои преимущества и недостатки, и это действительно зависит от того, для чего вам это нужно. Но теперь, когда вы знаете плюсы и минусы каждой из этих шести альтернативных оболочек, вам будет легче решить, в какой ситуации какую оболочку использовать. Хотя, честно говоря, этот выбор в значительной степени является вопросом личных предпочтений – я сам придерживаюсь Bash, и мне это подходит. Bash является оболочкой по умолчанию не без причины!