Командная оболочка 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 — современные микро-версии, предназначенные для встраиваемых систем, а также используемые в мини-дистрибутивах.
  • xsh (Xiki shell, от executable wiki) — новая командная оболочка, совмещающая командный и графический режимы работы

Программирование

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

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

См. также

Напишите отзыв о статье "Командная оболочка UNIX"

Примечания

  1. 1 2 3 Алексей Федорчук. [www.opennet.ru/base/dev/zsh_intro.txt.html Введение в Zsh (shell zsh)] (рус.). OpenNET.ru (23 декабря 2003). Проверено 10 июня 2010. [www.webcitation.org/61A49ogfW Архивировано из первоисточника 24 августа 2011].
  2. [www.cs.mun.ca/~michael/pdksh/LEGAL pdksh] (рус.). Проверено 10 июня 2010. [www.webcitation.org/61A4Ay7bL Архивировано из первоисточника 24 августа 2011].

Ссылки

  • [opennet.ru/base/faq/shell_faq.txt.html Shell FAQ (shell faq bash)] (рус.). Проверено 17 июня 2010. [www.webcitation.org/61A4BOmJS Архивировано из первоисточника 24 августа 2011].
  • [www.citforum.ru/programming/shell/index.shtml Программирование на Shell (UNIX)] (рус.). Проверено 17 июня 2010. [www.webcitation.org/61A4CRg8g Архивировано из первоисточника 24 августа 2011].
  • [ln.com.ua/~openxs/projects/man/solaris8/bash.html Пользовательские команды bash(1)] (рус.)(недоступная ссылка — история). Проверено 17 июня 2010.
  • [www.kornshell.com/ KornShell] (англ.). Проверено 17 июня 2010. [www.webcitation.org/61A4E0Rr6 Архивировано из первоисточника 24 августа 2011].
  • [www.zsh.org Zsh] (англ.). Проверено 17 июня 2010. [www.webcitation.org/61A4ESbxV Архивировано из первоисточника 24 августа 2011].


Отрывок, характеризующий Командная оболочка UNIX

Уже было поздно, когда он встал, запечатав письмо. Ему хотелось спать, но он знал, что не заснет и что самые дурные мысли приходят ему в постели. Он кликнул Тихона и пошел с ним по комнатам, чтобы сказать ему, где стлать постель на нынешнюю ночь. Он ходил, примеривая каждый уголок.
Везде ему казалось нехорошо, но хуже всего был привычный диван в кабинете. Диван этот был страшен ему, вероятно по тяжелым мыслям, которые он передумал, лежа на нем. Нигде не было хорошо, но все таки лучше всех был уголок в диванной за фортепиано: он никогда еще не спал тут.
Тихон принес с официантом постель и стал уставлять.
– Не так, не так! – закричал князь и сам подвинул на четверть подальше от угла, и потом опять поближе.
«Ну, наконец все переделал, теперь отдохну», – подумал князь и предоставил Тихону раздевать себя.
Досадливо морщась от усилий, которые нужно было делать, чтобы снять кафтан и панталоны, князь разделся, тяжело опустился на кровать и как будто задумался, презрительно глядя на свои желтые, иссохшие ноги. Он не задумался, а он медлил перед предстоявшим ему трудом поднять эти ноги и передвинуться на кровати. «Ох, как тяжело! Ох, хоть бы поскорее, поскорее кончились эти труды, и вы бы отпустили меня! – думал он. Он сделал, поджав губы, в двадцатый раз это усилие и лег. Но едва он лег, как вдруг вся постель равномерно заходила под ним вперед и назад, как будто тяжело дыша и толкаясь. Это бывало с ним почти каждую ночь. Он открыл закрывшиеся было глаза.
– Нет спокоя, проклятые! – проворчал он с гневом на кого то. «Да, да, еще что то важное было, очень что то важное я приберег себе на ночь в постели. Задвижки? Нет, про это сказал. Нет, что то такое, что то в гостиной было. Княжна Марья что то врала. Десаль что то – дурак этот – говорил. В кармане что то – не вспомню».
– Тишка! Об чем за обедом говорили?
– Об князе, Михайле…
– Молчи, молчи. – Князь захлопал рукой по столу. – Да! Знаю, письмо князя Андрея. Княжна Марья читала. Десаль что то про Витебск говорил. Теперь прочту.
Он велел достать письмо из кармана и придвинуть к кровати столик с лимонадом и витушкой – восковой свечкой и, надев очки, стал читать. Тут только в тишине ночи, при слабом свете из под зеленого колпака, он, прочтя письмо, в первый раз на мгновение понял его значение.
«Французы в Витебске, через четыре перехода они могут быть у Смоленска; может, они уже там».
– Тишка! – Тихон вскочил. – Нет, не надо, не надо! – прокричал он.
Он спрятал письмо под подсвечник и закрыл глаза. И ему представился Дунай, светлый полдень, камыши, русский лагерь, и он входит, он, молодой генерал, без одной морщины на лице, бодрый, веселый, румяный, в расписной шатер Потемкина, и жгучее чувство зависти к любимцу, столь же сильное, как и тогда, волнует его. И он вспоминает все те слова, которые сказаны были тогда при первом Свидании с Потемкиным. И ему представляется с желтизною в жирном лице невысокая, толстая женщина – матушка императрица, ее улыбки, слова, когда она в первый раз, обласкав, приняла его, и вспоминается ее же лицо на катафалке и то столкновение с Зубовым, которое было тогда при ее гробе за право подходить к ее руке.
«Ах, скорее, скорее вернуться к тому времени, и чтобы теперешнее все кончилось поскорее, поскорее, чтобы оставили они меня в покое!»


Лысые Горы, именье князя Николая Андреича Болконского, находились в шестидесяти верстах от Смоленска, позади его, и в трех верстах от Московской дороги.
В тот же вечер, как князь отдавал приказания Алпатычу, Десаль, потребовав у княжны Марьи свидания, сообщил ей, что так как князь не совсем здоров и не принимает никаких мер для своей безопасности, а по письму князя Андрея видно, что пребывание в Лысых Горах небезопасно, то он почтительно советует ей самой написать с Алпатычем письмо к начальнику губернии в Смоленск с просьбой уведомить ее о положении дел и о мере опасности, которой подвергаются Лысые Горы. Десаль написал для княжны Марьи письмо к губернатору, которое она подписала, и письмо это было отдано Алпатычу с приказанием подать его губернатору и, в случае опасности, возвратиться как можно скорее.
Получив все приказания, Алпатыч, провожаемый домашними, в белой пуховой шляпе (княжеский подарок), с палкой, так же как князь, вышел садиться в кожаную кибиточку, заложенную тройкой сытых саврасых.