Lt304888.ru

Туристические услуги

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

18-10-2023

Кома́ндная оболо́чка 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. ↑ Введение в Zsh (shell zsh)  (рус.). Архивировано из первоисточника 24 августа 2011. Проверено 10 июня 2010.
  2. pdksh  (рус.). Архивировано из первоисточника 24 августа 2011. Проверено 10 июня 2010.

Ссылки

  • Shell FAQ (shell faq bash)  (рус.). Архивировано из первоисточника 24 августа 2011. Проверено 17 июня 2010.
  • Программирование на Shell (UNIX)  (рус.). Архивировано из первоисточника 24 августа 2011. Проверено 17 июня 2010.
  • Пользовательские команды bash(1)  (рус.). Проверено 17 июня 2010.
  • KornShell  (англ.). Архивировано из первоисточника 24 августа 2011. Проверено 17 июня 2010.
  • Zsh  (англ.). Архивировано из первоисточника 24 августа 2011. Проверено 17 июня 2010.


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

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01