Spec-Zone.ru › Bash

Что такое оболочка?

В основе своей оболочка — это просто процессор макросов, который выполняет команды. Термин «процессор макросов» означает функциональность, где текст и символы расширяются для создания более крупных выражений.

Оболочка Unix — это одновременно интерпретатор команд и язык программирования. Как интерпретатор команд, оболочка предоставляет пользователю интерфейс к богатому набору утилит GNU. Функции языка программирования позволяют объединять эти утилиты. Можно создавать файлы, содержащие команды, которые сами становятся командами. Эти новые команды имеют тот же статус, что и системные команды в каталогах, таких как /bin, что позволяет пользователям или группам устанавливать пользовательские среды для автоматизации своих общих задач.

Оболочки могут использоваться интерактивно или неинтерактивно. В интерактивном режиме они принимают ввод, набранный с клавиатуры. При выполнении в неинтерактивном режиме оболочки выполняют команды, считанные из файла.

Оболочка позволяет выполнять команды GNU, как синхронно, так и асинхронно. Оболочка ожидает завершения синхронных команд, прежде чем принять дополнительный ввод; асинхронные команды продолжают выполняться параллельно с оболочкой, пока она читает и выполняет дополнительные команды. Конструкции перенаправления позволяют тонко управлять вводом и выводом этих команд. Кроме того, оболочка позволяет управлять содержимым среды команд.

Оболочки также предоставляют небольшой набор встроенных команд (встроенных команд), реализующих функциональность, которую невозможно или неудобно получить с помощью отдельных утилит. Например, cd, break, continue, и exec нельзя реализовать вне оболочки, потому что они напрямую манипулируют самой оболочкой. Встроенные команды history, getopts, kill, или pwd, среди прочих, могли бы быть реализованы в отдельных утилитах, но их использование в качестве встроенных команд более удобно. Все встроенные команды оболочки описаны в последующих разделах.

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

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

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/What-is-a-shell_003f.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API