Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО (Лупин) / Лабы / Лабы по Linux / Лабораторная работа 3.doc
Скачиваний:
70
Добавлен:
17.04.2013
Размер:
109.06 Кб
Скачать

Команды exit и return

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

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

Синтаксис:

$ exit аргумент

$ return аргумент

Примеры:

$ cat exit_test

echo exiting program now

exit99

$ exit_test

exiting program now

$echo $?

99

$cat rtn_test

function rtn

{

echo return from function

return 99

}

$rtn_test

returnfrom 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, файлы перечисляются по размеру, в противном случае выводится вся информация о файлах.

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