статьиGNU Free Documentation License материалы взяты из Википедии Статья была изменена. Оригинал статьи.

Командная оболочка UNIX

Материал из Энциклопедии в свободной энциклопедии
Перейти к: навигация, поиск

Кома́ндная оболо́чка UNIX (англ. Unix shell, часто просто «шелл» или «sh») в командный интерпретатор, используемый в операционных системах семейства UNIX, в котором пользователь может либо давать команды операционной системе по отдельности, либо запускать скрипты, состоящие из списка команд. В первую очередь, под shell понимаются POSIX-совместимые оболочки, восходящие к Bourne shell (шелл Борна), появившемуся в Unix Version 7.

Содержание

[править] Разновидности

  • sh в оригинальный шелл Борна; dash, bash, zsh в другие современные клоны Bourne shell (расположены по функциональности).
    • ksh (KornShell) в клон шелла Борна, разработанный Дэвидом Корном из AT&T Labs. Синтаксис совместим, функциональность интерактивности увеличена[1].
    • pdksh (public domain ksh) в открытая (почти целиком является общественным достоянием[2]) реализация ksh.
    • bash (bourne again shell) (эмуляция совместимости POSIX[1]) расширенная Борном свободная (разработанная в рамках проекта GNU) оболочка ash, сходная с pdksh. Стандартная оболочка в Linux.
  • C shell в (несовместима с POSIX shell) оболочка, с синтаксисом на основе Си, созданная Университетом Беркли в рамках проекта по реализации BSD Unix.
    • csh (C-Shell)в проприетарная оболочка из состава дистрибутива BSD, имеет Си-образный синтаксис и не является POSIX-совместимой. Впервые введены возможности управления заданиями и произведены другие улучшения.
    • tcsh (csh)в свободная реализация csh с интерактивными возможностями, не уступающими bash[1]. Удобна для интерактивной работы. Совместима с csh.
  • ash (Almquist shell, оболочка Альмквиста), BusyBox в современные микро-версии, предназначенные для встраиваемых систем, а также используемые в мини-дистрибутивах.

[править] Программирование

sh является удобным и часто используемым интерпретируемым языком программирования. Он содержит стандартные конструкции для циклов, ветвления, объявления функций и т. п. Данный язык часто используется в UNIX-подобных системах при создании различных сценариев (скриптов) работы, в частности, сценариев автоматического конфигурирования исходных кодов программ перед их компиляцией. Отличительная особенность языка sh в многие операции, которые в традиционных языках программирования являются встроенными, выполняются с помощью вызова внешних программ. Так, например:

  • expr используется для вычисления арифметических выражений;
  • test используется для сравнения чисел и строк, а также для определения атрибутов файлов;
  • sed, tr, awk, head, tail, cut и другие в для работы с текстом.

[править] См. также

[править] Примечания

  1. в‘ 1 2 3 Алексей Федорчук Введение в Zsh (shell zsh)  (рус.). OpenNET.ru (23 декабря 2003). Архивировано из первоисточника 24 августа 2011. Проверено 10 июня 2010.
  2. в‘ pdksh  (рус.). Архивировано из первоисточника 24 августа 2011. Проверено 10 июня 2010.

[править] Ссылки


Пространства имён

Варианты
Просмотры
Действия