Оболочка предоставляет вам интерфейс к системе 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"
Вот пример запуска сценария —