Добавить в корзинуПозвонить
Найти в Дзене
Linux User

Что такое shell?

В своей основе оболочка-это просто макропроцессор, который выполняет команды. Термин "макропроцессор" означает функциональность, при которой текст и символы расширяются для создания более крупных выражений. Оболочка Unix является одновременно интерпретатором команд и языком программирования. В качестве интерпретатора команд оболочка предоставляет пользовательский интерфейс для богатого набора утилит GNU. Возможности языка программирования позволяют комбинировать эти утилиты. Файлы, содержащие команды, могут быть созданы и сами стать командами. Эти новые команды имеют тот же статус, что и системные команды в каталогах, таких как /bin, что позволяет пользователям или группам создавать собственные среды для автоматизации своих общих задач. Оболочки могут использоваться в интерактивном или неинтерактивном режиме. В интерактивном режиме они принимают ввод, введенный с клавиатуры. При неинтерактивном выполнении оболочки выполняют команды, считанные из файла. Оболочка позволяет выполнять кома

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

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

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

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

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

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

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