Лабораторная работа №3. Интерпретатор команд Bourne Again Shell (bash).
Команды, изучаемые в данной лабораторной работе:
echo Ввод данных в сценарии.
read Считывает входную информацию.
test Оценивает истинность выражения и формирует код завершения.
let Дает возможность использовать в shell-программах арифметические
выражения.
5.) exitЗавершает выполнениеshell-программы и формирует код возврата.
6.) returnОстанавливает выполнение функции и возвращает в вызвавшую
процедуру аргумент, содержащий код завершения.
7.)if-then Управляющая структура, которая ставит условия для выполнения
команд.
8.) caseОбеспечивает выбор одного из нескольки возможных вариантов
9.)whileЦикл, используемый для повторения команд
10.)for-inСтруктура для поочередного обращения к значениям,
перечисленным в списке.
Програмирование в Bourne Again Shell
BASHобладает некоторыми свойствами языка програмирования, которые позволяют создавать с его помощью довольно сложные программы. Такая программа-скрипт объединяет обычно командыOC Linux, направленные на выполнение конкретной задачи. Для разработки программ пользователю предоставляется набор средств программирования. Вы можете определять переменные и присваивать им значения. Кроме того, можно определить переменные в файле сценария и предложить пользователю интерактивно ввести для них значения в ходе выполнения сценария. Как правило, инструкции, из которых состоит программа, вводятся в файл сценария, подлежащего выполнению. Создать этот файл можно с помощью любого стандартного редактора.
Чтобы сделать файл сценария выполняемым, нужно установить право на его выполнение ( с помощью команды chmod). Это можно осуществить с помощью символического или абсолютного метода. В файл сценария полезно вставлять краткие пояснения с описанием цели его создания и назначения команд и переменных. Эти пояснения вводятся посредством комментариев. Коммментарий – это строка (за исключением первой строки) или часть строки, предваренная знаком#. Файл выполняется, если указать абсолютное маршрутное имя файла или перед именем файла поставить символы./.
Некоторые символы имеют особое значение для командного процессора операционной системы Linux, поэтому их применение в качестве части имен переменных или строк станет причиной неправильной работы вашей программы. Если в строке имеются такие специальные символы, то необходимо использовать управляющие символы, указывающие, что специальные символы не должны считаться таковыми.
При использовании операций присваивания, если строка содержит пробел, можно заключить её в двойные кавычки, чтобы оболочка интерпретировала всю строку как одно целое. Двойные кавычки как бы растворяют все специальные символы в пределах строки. Однако двойные кавычки не отменяют интерпретацию знака доллара – оператора, вычисляющего значение переменных. Символ $рядом с именем переменной, заключенным в двойные кавычки, всегда приводит к ее вычислению, в результате имя переменной заменяется ее значением.
$winner=Dylan
$notice=”The person who won is $winner”
$echo $notice
The person who won is Dylan
Иногда переменную, заключенную в кавычки, вычислять не нужно. В этом случае следует использовать одинарные кавычки. Тогда вычисление переменных отменяется и знак доллара становится простым символом. В следующем примере одинарные кавычки препятствуют вычислению переменной winner.
$winner=Dylan
$result=’The name is the $winner variable’
$echo $result
The name is in the $winner variable
Обратные кавычки ` применяют для сообщения командному процессору о необходимости выполнения строки, заключенной в обратные кавычки. Это можно использовать если нужно сосчитать количество строк в файле test.txtтекущего каталога и записать результат в переменнуюvar, можно использовать такую команду:
$var=`wc –l test.txt`
