Intereting Posts
Значение ошибки yum «Пакет кортежей (…) не найден в rpmdb" Переменные баша в команде Парсинговые пары фигурных скобок, содержащие скобки эффект * в регулярном выражении Что такое «плохой список v: нет такого файла или каталога в / usr / libdata / per15 / OpenBSD / Pkg_Add.pm line 1115» означает? Clunking hard drive, некоторая информация появляется в dmesg, но в fdisk -l нет, какие у меня варианты? Простой вопрос: lftp не пишет в $ LOG – что я делаю неправильно? Воспроизводить произвольный звук PCM через динамик ПК? Строки трубопроводов различного поведения для сортировки и grep Нет доступа для записи в директорию $ HOME Нужно ли мне повторно генерировать открытые ключи SSH RSA или повторно импортировать их снова в случае изменения / истечения срока действия пароля LDAP? Как выполняется udhcpc и как его изменить? В чем разница между «тестом» и оценкой с помощью / dev / null? Ярлык перенаправления ввода-вывода не работает, когда в конце командной строки Как установить TREE, когда командная строка не работает?

Сравнение оболочек?

Имеют ли раковины какие-либо фактические преимущества или недостатки? Они могут запускать любые двоичные файлы, все они поддерживают каналы и > (вывод в файл). Почему вы выбираете bash над sh , или sh over ksh и т. Д.? Почему в любом случае существует какая-либо оболочка, sh от sh ?

Исполняемый файл sh необходим для современных Unix-подобных операционных систем. Существуют различные стандарты (например, POSIX ), диктующие, что это означает, хотя, поскольку «unix-like» не обязательно означает «сертифицированное соответствие» чему-либо, реальность несколько меняется. В общем, они по крайней мере реализуют что-то совместимое с sh , оригинальной оболочкой Bourne . Вот почему sh обычно является символической ссылкой , и «sh» лучше всего понимается сегодня как стандарт поведения того, с чем он связан.

bash – это Bourne Again Shell , что часто связано с системами GNU / Linux (но есть и другие возможности, такие как dash и ash ). Bash включает в себя все функции sh и предназначен для обеспечения обратной совместимости для sh скриптов. По-видимому, в этой совместимости есть некоторые потенциальные непонятные глюки, но они, вероятно, не слишком значительны.

Таким образом, с точки зрения функциональности, bash расширяет sh; он делает все, что нужно, и намного больше. Еще одна популярная расширенная реализация sh, которая также удовлетворяет POSIX, – это KornShell , ksh .

Другая общая оболочка командной оболочки общего назначения, которая все еще используется в мире * nix, – это C shell , csh . C-оболочка, однако, несовместима с sh-кодом, и реализация никогда не будет связана с sh .

В основном распространенные различия, которые вы можете найти в разделе Разница между ksh, bash и другими сообщениями shells на unix.com. Мое мнение, что это похоже на выбор разных дистрибутивов. Каждый выбирает то, что ему нравится.