русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ЗАДАНИЯ


Дата добавления: 2015-07-09; просмотров: 796; Нарушение авторских прав


· Напишите сценарий, проверяющий имя текущего каталога и выводящий со- общение об ошибке, если оно короче пяти символов.

· Требуется проверить, является ли файл обычным или каталогом. Если это обычный файл, то сценарий должен выводить имя файла и его размер. В случае если размер файла превышает 1 Кбайт, то размер должен выво- диться в килобайтах. Если размер превышает 1 Мбайт — в мегабайтах.


 

Команда case

При создании сценариев часто возникает задача проверить значение, содер- жащееся в переменной, на совпадение с заданными шаблонами. При этом в зависимости от шаблона, с которым произошло совпадение, должны вы- полняться те или иные заданные действия. Для выполнения такой задачи предназначена команда case. Шаблоны сравнения case такие же, как и фай- ловые шаблоны.

Синтаксис команды case в общем показан в примере 10.32.

 



Пример 10.32. Команда case

 



case слово in

шаблон1 )

команды

;;

шаблон2 )

команды

;;

esac

 



Сравнение слова с шаблонами производится последовательно. Как только найдется совпадение, выполняются соответствующие команды без дальней- ших проверок.

Допустим, что в текущем каталоге располагаются символические ссылки на сценарии запуска служб GNU/Linux. Требуется написать сценарий, который будет запускать службы, передавая сценарию аргумент start, если в качест- ве аргумента будет использована символическая ссылка, начинающаяся с буквы S или s. Если же ссылка будет начинаться с буквы K или k, то служ- бы должны останавливаться и, следовательно, их сценариям должен переда- ваться аргумент stop (пример 10.33).

 



Пример 10.33. Команда case

 



$ cat case.sh

#!/bin/bash

[ $# -ne 1 ] && exit 1; FIRST=`echo $1 | cut -c1` case $FIRST in


 


 

 



esac


[Ss] )

 



 



K|k )

 



 



* )


 

echo "Запускается $1"

./$1 start

;;

 



echo "Останавливается $1"

./$1 stop

;;

 



echo "Статус $1"

./$1 status

;;


 

В этом сценарии вначале проверяется количество аргументов. Если оно не равно 1, то осуществляется выход с ошибкой. Далее в переменную FIRST по- мещается первая буква аргумента командной строки.

Команда case проверяет соответствие содержащейся в переменной FIRST буквы шаблону [Ss]. Этот шаблон обозначает множество по аналогии с обычными файловыми шаблонами. То есть этому шаблону удовлетворяют либо S, либо s.

Если буква в FIRST удовлетворяет этому шаблону, служба запускается.

Для остановки службы используется иной шаблон, имеющий в данном слу- чае тот же смысл: либо K, либо k. Вертикальная черта обозначает "ИЛИ". Од- нако ее можно применять даже для целых строк или шаблонов.

Если содержимое переменной FIRST не совпадает и с этим шаблоном, то вы- водится информация о текущем статусе службы.



<== предыдущая лекция | следующая лекция ==>
Условное исполнение команд | ЗАДАНИЯ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.822 сек.