Jump to content

Оболочка Альмквиста

(Перенаправлено с Dash (оболочка) )
Оболочка Альмквиста
Разработчик(и) Кеннет Алмквист
Первоначальный выпуск 30 мая 1989 г .; 35 лет назад ( 1989-05-30 )
Написано в С
Операционная система Unix-подобный
Платформа Кросс-платформенный
Тип оболочка Unix
Веб-сайт www .ин-Ульм .из /~mascheck /различный /пепел /  Edit this on Wikidata

Оболочка Almquist (также известная как A Shell , ash и sh ) — это облегченная оболочка Unix, первоначально написанная Кеннетом Алмквистом в конце 1980-х годов. Первоначально являвшийся клоном System V.4 варианта оболочки Bourne , он заменил исходную оболочку Bourne в BSD- версиях Unix, выпущенных в начале 1990-х годов.

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

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

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

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

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

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

Бросаться

[ редактировать ]
Оболочка Debian Almquist (DASH)
Разработчик(и) Герберт Сюй
Первоначальный выпуск 15 июля 1997 г .; 27 лет назад ( 15 июля 1997 )
Написано в С
Операционная система Линукс , Андроид
Тип оболочка Unix
Лицензия Лицензия BSD из 3 пунктов с mksignames под GNU GPL [ 5 ]
Веб-сайт Гондор .округ .org /~герберт /бросаться /

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

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

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

[ редактировать ]

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

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

Встроенный Linux

[ редактировать ]

Ash (в основном ответвление Dash) также довольно популярен во встроенных системах Linux . Версия Dash 0.3.8-5 была включена в BusyBox , универсальный исполняемый файл, часто используемый в этой области, и используется в таких дистрибутивах, как DSLinux, Alpine Linux , Tiny Core Linux на базе Linux, и прошивках маршрутизаторов таких как OpenWrt , Tomato и DD. -ВРТ .

См. также

[ редактировать ]
  1. ^ Алмквист, Кеннет (30 мая 1989 г.). Рич Зальц (ред.). «v19i001: Повторная реализация оболочки System V, часть 01/08» . Группа новостей Usenet , comp.sources.unix.
  2. ^ Перейти обратно: а б с Масчек, Свен. «Варианты Ясеня (Панциря Альмквиста)» . www.in-ulm.de .
  3. ^ Томас Э. Дики (2015). «ТЕСТ против портативности» . Проверено 1 марта 2020 г.
  4. ^ Эллиот Хьюз (20 июня 2018 г.). «Оболочка и утилиты Android» . Проверено 29 февраля 2020 г.
  5. ^ Сюй, Герберт. «КОПИРОВАНИЕ» . Архивы ядра Linux . Проверено 23 декабря 2023 г.
  6. ^ Перейти обратно: а б «Неинтерактивная оболочка» . Дебиан Вики . 13 января 2020 г. Проверено 29 февраля 2020 г.
  7. ^ Перейти обратно: а б «Деш как /bin/sh» . Убунту Вики . 16 декабря 2017 г. Проверено 29 февраля 2020 г.
  8. ^ Нил Кравец (2011). Ubuntu: мощные хаки и настройки . Джон Уайли и сыновья . п. 178. ИСБН  9781118080382 .
  9. ^ Кристофер Негус; Франсуа Кан (2011). Панель инструментов Ubuntu Linux . Джон Уайли и сыновья. п. 49. ИСБН  9781118079140 .
  10. ^ Эгиль Гастинг (20 сентября 2006 г.). «Сценарий, использующий bash, может быть сломан с помощью новой символической ссылки» . Панель запуска . Проверено 29 февраля 2020 г.
  11. ^ комоция (21 сентября 2007 г.). «тире как #!/bin/sh приводит к бесчисленным несовместимостям» . Панель запуска . Проверено 29 февраля 2020 г.
  12. ^ «10. Файлы» . Руководство по политике Debian v4.5.0.2 .
  13. ^ checkbashisms(1) Linux по основным командам Руководство
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4f01261f0f0231dab207290e4b12343a__1719509940
URL1:https://arc.ask3.ru/arc/aa/4f/3a/4f01261f0f0231dab207290e4b12343a.html
Заголовок, (Title) документа по адресу, URL1:
Almquist shell - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)