Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы / Лабы1 / lab_m1_vt_vt_os_230100.62_niy06.doc
Скачиваний:
23
Добавлен:
18.02.2017
Размер:
449.02 Кб
Скачать

Команды exit и return

Назначение: Команда exit завершает выполнение shell-программы и формирует код возврата. Если команда задана без аргументов, то код возврата устанавливается равным коду возврата последней команды, выполненной перед exit.

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

Синтаксис:

$ exit аргумент

$ return аргумент

Примеры:

$ cat exit_test

echo exiting program now

exit 99

$ exit_test

exiting program now

$echo $?

99

$ cat rtn_test

function rtn

{

echo return from function

return 99

}

$ rtn_test

return from function

$echo $?

99

Команда let

Назначение: Команда let дает возможность использовать в shell-программах арифметические выражения. Команда работает в формате длинного целого. При построении арифметических выражений можно использовать операторы (даны в порядке убывания приоритета выполнения):

Оператор Описание

- Одноместный минус (операция изменения знака

арифметического выражения

! Логическое отрицание

* / % Умножение, деление, остаток от деления

+ - Сложение, вычитание

<+ >= < > Сравнение

== != Равно, не равно

= Присвоение

() Скобки используются для изменения порядка вычисления

Синтаксис:

$ let выражение или ((выражение))

Примеры:

$ x=10 $ x=12

$ y=2 $ let “x < 10”

$ let x=x+2 $ echo $?

$echo $x 1

12 $ (( x > 10 ))

$ let “x=x / (y+1) “ $ echo $?

$ echo $x 0

  1. $if (( x > 10 ))

$ (( x=x+1 )) > then echo x greater

$ echo $x > else echo x not greater

5 fi

x greater

Команда if-then

Назначение: Управляющая структура if ставит условие для выполнения команд. Этим условием является код завершения какой-то конкретной команды. Если она выполнена успешно (т.е. код завершения равен нулю), то команды внутри структуры if выполняются. Если код завершения отличается от нуля, то команды внутри структуры if не выполняются. Команда if-then начинается ключевым словом if. За ним идет команда, код завершения которой проверяется. После нее в отдельной строке стоит ключевое слово then. Затем может идти любая совокупность команд. Завершает команду ключевое слово fi. Иногда нужно выбрать один из двух вариантов, руководствуясь тем, успешно ли была выполнена команда. Ключевое слово else позволяет управляющей структуре if выбрать один из двух вариантов. Если команда завершена успешно, то выполняются команды, следующие за ключевым словом then. В противном случае выполняются команды, следующие за ключевым словом else.

Синтаксис:

if команда

then

Команды

else

Команды

fi

Примеры:

elsels

echo Enter s to list file sizes,

echo otherwise all file information is listed

echo –n “Please enter options:”

read choice

if [ “$choice”=s]

then

ls –s

else

ls –l

fi

echo Good-bye

$ ./elsels

Enter s to list file sizes,

otherwise all file information is listed

Please enter options: s

total 2

1 monday 2 today

Good-bye

$

В сценарии elsels команда ls выполняется для получения списка файлов в двух вариантах – в порядке убывания их размеров или с представлением всей информации о каждом файле. Если пользователь вводит s, файлы перечисляются по размеру, в противном случае выводится вся информация о файлах.

Соседние файлы в папке Лабы1