Ответы по экзамену операционные системы. Для удобства
Скачать 191.51 Kb.
|
Какие операторы ветвления применяются в командных сценариях ОС Unix?Оператор if Оператор if используется для ветвления сценария в зависимости от условий. Конструкция оператора выглядит следующим образом:
Всю приведенную конструкцию можно записать в одну строку, заменив символы перехода на следующую строку символами ";". Условиями для оператора if являются результаты выполнения команд: возвращаемый программой 0 свидетельствует об успешном выполнении, а ненулевое значение символизирует об ошибке (сценарий также может возвращать значения с помощью оператора return). Соответственно, возвращаемый командной 0 является положительным условием, а ненулевое значение – отрицательным условием. Логика работы оператора следующая. Сценарий СЦЕНАРИЙ1 будет выполнен в том случае, если выполняется УСЛОВИЕ1. Иначе, если выполняется УСЛОВИЕ2, то будет выполнен СЦЕНАРИЙ2. Если ни одно из условий не выполняется, то будет выполнен СЦЕНАРИЙ3. Блоки elif и else необязательны. В следующем примере утилита test вернет положительное значение, если по указанному пути расположен файл:
Ключ -fслужит для проверки факта, существует ли файл по заданному пути и является ли он обычным файлом (не каталогом, не специальным файлом устройства и так далее). Если файл существует, то утилита test вернет нулевое значение, что является положительным условием для выполнения оператором if сценария. Утилита test наиболее часто используется в качестве условия для операторов ветвления, поэтому для упрощения записи условий доступен краткий синоним команды – "[" (квадратная скобка). Заключительный аргумент "]" игнорируется этой командой, поэтому доступна следующая форма записи предыдущего примера:
Не следует забывать, что пробелы возле квадратных скобок обязательны, так как название команды (в данном случае test, а точнее – ее синонима "[") должно быть отделено пробелом от аргументов. Наиболее часто используемые условия с использованием утилиты test приведены в таблице 1. Таблица 1 Часто используемые условия
Продолжение таблицы 1
Оператор case Конструкция case используется для реализации множественного выбора.
ЗНАЧЕНИЕ последовательно сравнивается со значениями ЗНАЧЕНИЕ1, ЗНАЧЕНИЕ2 и если найдено равенство, то выполняется соответствующий сценарий. Например, следующий сценарий выведет информацию о количестве переданных аргументов:
|