Раковина альмквиста - Almquist shell

Раковина альмквиста
Разработчики)Кеннет Алмквист
изначальный выпуск30 мая 1989 г.; 31 год назад (1989-05-30)
Написано вC
Операционная системаUnix-подобный
ПлатформаКроссплатформенность
ТипОболочка Unix
Интернет сайтwww.in-ulm.de/ ~ mascheck/разные/пепел/ Отредактируйте это в Викиданных

Раковина альмквиста (также известен как Как ад, ясень и ш) легкий Оболочка Unix первоначально написано Кеннет Алмквист в конце 1980-х гг. Первоначально клон Система V.4 вариант Оболочка Борна, он заменил исходную оболочку Борна в BSD версии Unix, выпущенные в начале 1990-х годов.

История

пепел был впервые выпущен через публикацию в комп.sources.unix Usenet группа новостей, одобренная и модерируемая Рич Зальц 30 мая 1989 г. Он был описан как «повторная реализация оболочки System V [с] большинством функций этой оболочки, плюс некоторые дополнения».[1]

Быстрый, компактный и практически совместимый[нужна цитата ] с POSIX стандартная спецификация оболочки Unix, ash не предоставила редактирование строки или история команд механизмы, поскольку Альмквист считал, что такую ​​функциональность следует перенести в Терминал Водитель. Однако текущие варианты его поддерживают.

Следующее извлечено из информации о пакете золы из Slackware v14:

ясень (ясеневый панцирь Кеннета Альмквиста)

Легкая (92K) оболочка, совместимая с Bourne. Отлично подходит для машин с низким объемом памяти, но не предоставляет все дополнительные функции оболочки, такие как трепать, tcsh, и zsh. Выполняет большинство сценариев оболочки, совместимых с оболочкой Борна. Обратите внимание, что в Linux большинство скриптов, похоже, используют хотя бы какой-то специфичный для bash синтаксис. Сценарии установки Slackware являются заметным исключением, так как ash - это оболочка, используемая на установочных дисках. NetBSD использует золу как свой / bin / sh.

Мириады вилок были произведены из исходного пепла.[2] Эти производные от ash устанавливаются как оболочка по умолчанию (/ bin / sh) на FreeBSD, NetBSD, DragonFly BSD, МИНИКС, а в некоторых Дистрибутивы Linux. MINIX 3.2 использовала оригинальную версию ясеня, чья тестовое задание функция отличается от POSIX.[3] Эта версия оболочки была заменена в MINIX 3.3. Android использовал пепел до тех пор, пока Android 4.0, после чего он переключился на мкш.[4]

бросаться

Оболочка Debian Almquist (DASH)
Разработчики)Герберт Сюй
изначальный выпуск15 июля 1997 г.; 23 года назад (1997-07-15)
Написано вC
Операционная системаLinux, Android
ТипОболочка Unix
Интернет сайтгондор.apana.org.au/ ~ Герберт/бросаться/

В 1997 году Герберт Сю портировал ясень из NetBSD в Debian Linux. В сентябре 2002 г. с выпуском 0.4.1 этот порт был переименован в бросаться (Оболочка Debian Almquist). Основными приоритетами Сюй являются соответствие POSIX и тонкая реализация.[2]

Как и его предшественник, dash не поддерживает ни Интернационализация и локализация ни многобайтовая кодировка символов (оба требуются в POSIX). Редактирование строк и поддержка истории на основе GNU Readline необязательно (--with-libedit).

Принятие в Debian и Ubuntu

Благодаря своей тонкости, Ubuntu решил принять тире по умолчанию / bin / sh[5][6] в 2006 году. Причина использования тире быстрее сценарий оболочки исполнение,[7] особенно во время запуска операционной системы, по сравнению с предыдущими версиями Debian и Ubuntu, которые использовали bash для этой цели, хотя трепать по-прежнему является оболочкой входа по умолчанию для интерактивного использования.[8] Dash стал дефолтным / bin / sh в Ubuntu начиная с версии 6.10 в октябре 2006 г.[6] Dash заменил ясень и стал по умолчанию / bin / sh в Debian 6 (Squeeze).[5]

Результатом сдвига стало то, что многие сценарии оболочки были обнаружены с использованием трепать -специфические функции ("башизмы") без должного объявления этого в Shebang линия.[9][10] Проблема была впервые обнаружена в Ubuntu, и разработчики Ubuntu решили сделать все скрипты соответствующими POSIX стандарт. Позднее изменения были перенесены в Debian, который вскоре принял тире по умолчанию. / bin / sh тоже. В результате все / bin / sh сценарии в Debian и Ubuntu гарантированно совместимы с POSIX, за исключением расширений, объединенных в бросаться для удобства (местный, эхо -n, тест -a / -o).[11][12] Аналогичный переход произошел в Slackware Linux, хотя их версия ясень лишь частично основан на бросаться.[2]

Встроенный Linux

Ясень (в основном бросаться fork) также довольно популярен в встроенный Linux системы. бросаться версия 0.3.8-5 была включена в BusyBox, универсальный исполняемый файл, часто используемый в этой области, и используется в таких дистрибутивах, как DSLinux, Alpine Linux, Крошечное ядро ​​Linux и на базе Linux маршрутизатор прошивки такие как OpenWrt, Помидор и DD-WRT.

Смотрите также

использованная литература

  1. ^ Альмквист, Кеннет (30 мая 1989 г.). Рич Зальц (ред.). "v19i001: повторная реализация оболочки System V, часть 01/08". Usenet группа новостей, comp.sources.unix.
  2. ^ а б c Mascheck, Свен. "Варианты ясеня (ракушки Альмквиста)". www.in-ulm.de.
  3. ^ Томас Э. Дики (2015). «ТЕСТ против портативности». Получено 1 марта, 2020.
  4. ^ Эллиот Хьюз (20.06.2018). «Оболочка и утилиты Android». Получено 2020-02-29.
  5. ^ а б «Неинтерактивная оболочка». Debian Вики. 2020-01-13. Получено 2020-02-29.
  6. ^ а б "Тире как / bin / sh". Ubuntu Вики. 2017-12-16. Получено 2020-02-29.
  7. ^ Нил Кравец (2011). Ubuntu: мощные хаки и настройки. Джон Уайли и сыновья. п. 178. ISBN  9781118080382.
  8. ^ Кристофер Негус; Франсуа Кан (2011). Панель инструментов Ubuntu Linux. Джон Вили и сыновья. п. 49. ISBN  9781118079140.
  9. ^ Эгиль Гастинг (20 сентября 2006 г.). «Скрипт, использующий bash, может быть нарушен новой символической ссылкой». Панель запуска. Получено 2020-02-29.
  10. ^ comotion (21 сентября 2007 г.). "тире как #! / bin / sh вносит бесчисленное множество несовместимостей". Панель запуска. Получено 2020-02-29.
  11. ^ «10. Файлы». Руководство по политике Debian, версия 4.5.0.2.
  12. ^ чекбашизмы (1) – Linux Общие команды Руководство

внешняя ссылка