Оболочка (shell) Linux: bash, sh, csh, ksh

Андрей Волков

Андрей Волков

Системное, сетевое администрирование +DBA. И немного программист!))  Профиль автора.

Shell Linux - обзор основных оболочек ЛинуксОболочка Linux — это специальная программа, разработанная для чтения набранных пользова­телем команд и выполнения соответствующих программ в ответ на эти команды. Иногда такую программу называют командным интерпретатором.

Оболочкой входа в систему Линукс обозначают процесс, создаваемый для запуска оболочки при первом входе пользователя в систему.

В некоторых операционных системах командный интерпретатор является составной частью ядра, но в системах UNIX оболочка представляет собой пользовательский процесс. Существует множество различных оболочек, и несколько различных пользователей (или один пользователь) могут одновременно работать на одном компьютере с несколькими разными оболочками. Со временем выделились основные оболочки.

  • Bourne shell (sh). Эта оболочка, написанная Стивом Борном (Steve Bourne), является старейшей из широко используемых оболочек. Она была стандартной оболочкой для Seventh Edition UNIX. Bourne shell характеризуется множеством особенностей, акту­альных для всех оболочек: перенаправление ввода-вывода, организация конвейеров, генерация имен файлов (подстановка), использование переменных, работа с пере­менными среды, подстановка команд, фоновое выполнение команд и функций. Все последующие реализации UNIX включали Bourne shell в дополнение к любым другим оболочкам, которые они могли предоставлять.
  • С shell (csh). Была написана Биллом Джоем (Bill Joy) из Калифорнийского университета в Беркли. Такое имя она получила из-за схожести многих конструкций управления выполнением этой оболочки с конструкциями языка программиро­вания С. Оболочка С shell предоставляет ряд полезных интерактивных средств, недоступных в Bourne shell, включая историю команд, управление заданиями и использование псевдонимов. Оболочка С shell не имеет обратной совместимости с Bourne shell. Хотя стандартной интерактивной оболочкой на BSD была С shell, сценарии оболочки (которые вскоре будут рассмотрены) обычно создавались для Bourne shell, дабы сохранялась их портируемость между всеми реализациями UNIX.
  • Korn shell (ksh). Оболочка была написана в качестве преемника Bourne shell Дэвидом Корном (David Korn) из AT&T Bell Laboratories. Кроме поддержки обратной совме­стимости с Bourne shell, в нее были включены интерактивные средства, подобные предоставляемым оболочкой С shell.
  • Bourne again shell (bash). Была разработана в рамках проекта GNU в качестве усовер­шенствованной реализации Bourne shell. Она предоставляет интерактивные средства, подобные тем, что доступны при работе с оболочками С и Korn. Основными созда­телями bash являются Брайан Фокс (Brian Fox) и Чет Рэми (Chet Ramey). Bash, на­верное, наиболее популярная оболочка Linux. (Фактически в Linux Bourne shell, sh, предоставляется посредством имеющейся в bash наиболее приближенной к оригиналу эмуляции оболочки sh.)

В POSIX.2-1992 определяется стандарт для оболочки, которая была основана на актуальной в ту пору версии оболочки Korn. В наши дни стандарту POSIX соответствуют обе оболочки: и Korn shell и bash, но при этом они предоставляют несколько расширений стандарта и от­личаются друг от друга многими из этих расширений.

Оболочки разработаны не только для использования в интерактивном режиме, но и для выполнения в режиме интерпретации сценариев оболочки. Эти сценарии представляют собой текстовые файлы, содержащие команды оболочки. Для этого каждая из оболочек имеет элементы, обычно присущие языкам программирования: переменные, циклы, условные инструкции, команды ввода-вывода и функции.

Все оболочки выполняют схожие задачи, хотя и имеют отличающийся синтаксис. При описании в этой книге операций оболочки, как правило, будет подразумеваться, что таким образом работают все оболочки, если отдельно не встретится ссылка на операцию конкретной оболочки. В большинстве примеров, требующих применения оболочки, ис­пользуется bash, но, пока не будет утверждаться обратное, считайте, что эти примеры работают точно так же и на других оболочках Bourne-типа.

 

Вас заинтересует / Intresting for you:

Основа операционной системы Li...
Основа операционной системы Li... 3055 просмотров Андрей Волков Wed, 09 Jan 2019, 05:36:45
Linux: как инсталлировать прог...
Linux: как инсталлировать прог... 1502 просмотров Дэйзи ак-Макарова Sun, 11 Nov 2018, 11:54:59
Краткая история Linux
Краткая история Linux 2706 просмотров Андрей Волков Wed, 09 Jan 2019, 02:46:59
Сигналы в Linux: назначение и ...
Сигналы в Linux: назначение и ... 2066 просмотров Fortan Fri, 05 Nov 2021, 07:58:01
Войдите чтобы комментировать