Учебники

Unix / Linux — Что такое оболочки?

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

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

Shell Prompt

Подсказка $ , которая называется командной строкой , выдается оболочкой. Пока отображается приглашение, вы можете ввести команду.

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

Ниже приведен простой пример команды date , которая отображает текущую дату и время:

$date
Thu Jun 25 08:30:19 MST 2009

Вы можете настроить командную строку, используя переменную среды PS1, описанную в руководстве по среде.

Типы раковин

В Unix есть два основных типа оболочек —

  • Оболочка Bourne — если вы используете оболочку типа Bourne, символ $ является приглашением по умолчанию.

  • Оболочка C — если вы используете оболочку типа C, символ% является приглашением по умолчанию.

Оболочка Bourne — если вы используете оболочку типа Bourne, символ $ является приглашением по умолчанию.

Оболочка C — если вы используете оболочку типа C, символ% является приглашением по умолчанию.

Bourne Shell имеет следующие подкатегории —

  • Оболочка Борна (ш)
  • Скорлупа корн (кш)
  • Bourne Again shell (Баш)
  • POSIX оболочка (ш)

Далее следуют различные оболочки типа C —

  • C оболочка (csh)
  • TENEX / TOPS C shell (tcsh)

Оригинальная оболочка Unix была написана в середине 1970-х годов Стивеном Борном, когда он работал в лаборатории AT & T Bell Labs в Нью-Джерси.

Оболочка Bourne была первой оболочкой, появившейся в системах Unix, поэтому ее называют «оболочкой».

Оболочка Bourne обычно устанавливается как / bin / sh в большинстве версий Unix. По этой причине это предпочтительная оболочка для написания скриптов, которая может использоваться в разных версиях Unix.

В этой главе мы рассмотрим большинство концепций Shell, основанных на оболочке Borne.

Скрипты оболочки

Основная концепция сценария оболочки — это список команд, которые перечислены в порядке их выполнения. Хороший сценарий оболочки будет иметь комментарии, перед которыми стоит знак # , описывающий шаги.

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

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

Сценарии и функции оболочки интерпретируются. Это означает, что они не компилируются.

Пример скрипта

Предположим, мы создаем скрипт test.sh. Обратите внимание, что все сценарии будут иметь расширение .sh . Прежде чем добавлять что-либо еще в ваш скрипт, вы должны предупредить систему о запуске скрипта оболочки. Это делается с помощью конструкции Шебанга . Например —

#!/bin/sh

Это говорит системе, что последующие команды должны выполняться оболочкой Bourne. Это называется шебанг, потому что символ # называется хешем, а символ! Символ называется взрывом .

Чтобы создать сценарий, содержащий эти команды, вы сначала помещаете строку shebang, а затем добавляете команды —

#!/bin/bash
pwd
ls

Shell Комментарии

Вы можете поместить свои комментарии в свой сценарий следующим образом —

#!/bin/bash

# Author : Zara Ali
# Copyright (c) Tutorialspoint.com
# Script follows here:
pwd
ls

Сохраните вышеуказанный контент и сделайте скрипт исполняемым —

$chmod +x test.sh

Сценарий оболочки теперь готов к выполнению —

$./test.sh

После выполнения вы получите следующий результат —

/home/amrood
index.htm  unix-basic_utilities.htm  unix-directories.htm  
test.sh    unix-communication.htm    unix-environment.htm

Примечание. Для запуска программы, доступной в текущем каталоге, используйте ./program_name

Расширенные сценарии оболочки

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

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

Следующий скрипт использует команду чтения, которая принимает ввод с клавиатуры и назначает его в качестве значения переменной PERSON и, наконец, печатает его в STDOUT.

#!/bin/sh

# Author : Zara Ali
# Copyright (c) Tutorialspoint.com
# Script follows here:

echo "What is your name?"
read PERSON
echo "Hello, $PERSON"

Вот пример запуска сценария —