Основные операторы, используемые в команде let



Арифметические операторы Функции
* Умножение
/ Деление
+ Сложение
- Вычитание
% Деление с остатком
Операторы сравнения Функции
> Больше чем
< Меньше чем
>= Больше либо равно
<= Меньше либо равно
= Равенство в выражениях
= = Равенство в команде let
!= Не равно
& Логическое И
| Логическое ИЛИ
! Логическое НЕ

Ниже приведен пример расчета суммы двух чисел с занесением результата в третью переменную и последующим инкрементом полученной суммы:

$ a=12

$ b=23

$ let c=a+b

$ echo $c

35

$ let c++

$ echo $c

36

 

Например, переменной ANSWER может быть присвоено значение “YES”. Команда echo (см….) выводит на экран ответ на вопрос, при этом выполняется проверка. Если это значение ей не присвоено, для вывода на экран используется именно оно, в противном случае – “NO”:

$ ANSWER=YES

$ echo " My answer is ${ANSWER:-NO}. "

My answer is YES.

Если переменная ANSWER не определена, на экране отобразится надпись: 

My answer is NO.

 

Управляющие конструкции

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

· операторы цикла (for, until, while);

· операторы, изменяющие ход действия сценария (if, then, else, case).

 

Оператор цикла с перечислением for

Оператор цикла for имеет следующую структуру:

for имя переменной < in список значений >

do

      список команд

Done

Конструкция, указанная в < > является необязательной, а выделенные полужирным курсивом элементы являются служебным словам конструкции. Служебные слова dodone определяют тело цикла.

Простейшим примером, демонстрирующим работу цикла  for, является вывод значений варьируемой переменной:

for i  in аа bb c 4

do

      echo $i

Done

В результате на экран будут выведены значения

аа

bb

c

4

 

Управление циклами с помощью команд break и continue

Иногда в ходе выполнения программы может возникнуть необходимость прерывания или пропуска отдельных итераций цикла. Для обеспечения такой возможности в интерпретаторе shell предусмотрены две команды.

Команда break позволяет прервать выполнение цикла. Команда может завершить выполнение сразу нескольких вложенных циклов. Для этого необходимо указать ей глубину вложения, например, break 2.

Команда continue имеет существенное отличие от команды break – она не прерывает цикл, а лишь пропускает выполнение текущей операции (переходит к следующему значению переменной).

 

Условный оператор if

Оператор if позволяет организовать проверку условий, основанную на проверке значений 0 (истина) и 1 (ложь). В общем случае оператор if имеет структуру:

if условие

then список

      < elif условие

       then список >

< else список >

Fi

Конструкции, указанные в < > не являются обязательными, а выделенные полужирным курсивом элементы являются служебным словам конструкции. Результат проверки, равный 0, воспринимается как истина, а равный 1 – как ложь.

Часть elif используется для проверки более, чем двух условий.

Если выполнено условие, то выполняется список.

Ниже приведен пример, демонстрирующий работу условного оператора if.

if [ $a –gt $b ]

then echo “a>b”

else echo “a<b”

fi

Здесь a и b – некоторые целые числа. Если a больше b, то на экран выводится запись a>b, в противном случае: a<b.

 

Коды завершения

Каждая выполняемая в shell команда после выполнения возвращает так называемый код завершения. Для просмотра кода завершения последней выполненной команды достаточно вызвать команду:

 $ echo $?

Общими системными командами используется два кода завершения:

0 – успешное завершение команды, ошибок нет;

1 – неудачное завершение команды, имеются ошибки.

Язык позволяет реализовать пользовательский код завершения shell-сценария (например, с использованием команды exit). Он может быть использован другим shell-сценарием или функцией языка shell. Завершение сценария с генерацией кода считается хорошим тоном в программировании.

 

Команда exit

Для завершения текущего процесса в shell имеется команда exit. Команда имеет следующий формат:

exit < число>

Если вывести команду без параметра, shell отобразит значение последней команды. Принято считать, что значение exit = 0 – успешное завершение (ошибок нет); exit = 1 – неудачное завершение (имеется ошибка).

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

$ exit 2

Параметр команды exit может принимать значение от 0 до 255.

 


Дата добавления: 2020-01-07; просмотров: 186; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!