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

Команда case

Назначение: Управляющая структураcaseобеспечивает выбор одного из нескольких возможных вариантов. Выбор осуществляется путем сравнивания заданного в структуре значения с несколькими возможными образцами. Каждое возможное значение проверяемой переменной связывается с совокупностью операций. Если обнаруживается совпадение, то выполняются соответствующие данному значению операции. Структкраcaseначинается с одноименного ключевого слова, имени переменной и ключевого словаin. Затем следует совокупность образцов. Каждый образец представляет собой регулярное выражение, завершаемое правой круглой скобкой, за которой перечисляются команды, связанные с образцом. Список команд завершается двумя символами “точка с запятой” в отдельной строке, вся командаcaseзавершается ключевым словомesac.

Синтаксис:

case строкаin

образец1)

команды

;;

образец2)

команды

;;

*)

команды по умолчанию

;;

esac

Образец может содержать специальные символы shell:*,[],?и|. Специальный символ?используется для сравнения любого одиночного символа.[]используются для сравнения любого одного символа, помещенногомежду двумя символами и обеспечивает сравнение с любым, попадающим в этот интервал. Символ|это логический операторOR(“ИЛИ”). Специальным символом*можно задать образец для использования по умолчанию. Звездочка обозначает любой образец и работает, таким образом, как вариант, выбираемый по умолчанию. Если все остальные образцы не обнаруживаются, то испоьзуется*, т.е. выполняется вариант по умолчанию. Вариант по умолчанию включать в структуруcaseне обязательно.

Примеры:

Lschoice

#Program to allow the user to select different ways of

#listing files

echo s. List Sizes

echo l. List All File Information

echo c. List C Files

echo –n “Please enter choice:”

read choice

case $choice in

s)

ls –s

;;

l)

ls –l

;;

c)

ls*.c

;;

*)

echo Invalid Option

esac

$ ./lschoice

s. List Sizes

l. List All File Information

c. List C Files

Please enter choice: c

main.c lib.c file.c

$

В приведенном примере прогамме lschoiceпользователю предлагается указать вариант вывода списка файлов. Если пользователь неправильно выбрал вариант, программа сообщит ему об этом.

Команда while

Назначение: Циклwhileиспользуется для повторения команд. Этот цикл начинается с ключевого словаwhile, за которым следует команда. В следующей строке должно стоять словоdo. Конец цикла обозначается ключевым словомdone.

Синтаксис:

whileкоманда

do

команды

done

Примеры:

myname

again=yes

while[“$again=yes”]

do

echo –n “Pleas enter a name:”

read name

echo “The name you entered is $name”

echo –n “Do you wish to continue?”

read again

done

echo Good-bye

$ ./myname

Pleas enter a name: George

The name you entered is George

Do you wish to continue? yes

Pleas enter a name: Robert

The name you entered is Robert

Do you wish to continue? No

Good-bye

В приведенном примере mynameпользователю предлагается ввести имя. Это имя затем выводиться на экран. Управление циклом осуществляется путем проверки значения переменнойagainс помощью командыtest, заданной в виде квадратных скобок.

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