Читайте также
Управляющие конструкции
Введение
В четырех первых главах этой серии мы сконцентрировали свое внимание на синтаксическом анализе математических выражений и операций присваивания. В этой главе мы остановимся на новой и захватывающей теме: синтаксическом анализе и
Конструкции ветвления
Конструкции ветвления осуществляют переход к одному из блоков программного кода на основании проверки некоторого условия. К ним относятся операторы if и
Циклические конструкции
Для организации циклического выполнения программных блоков в языке Object Pascal используют циклические конструкции трех типов: for-do, while-do и repeat-until. Они отличаются характером начала и завершения
Конструкции while и do/while
Цикл while оказывается полезным тогда, когда блок операторов должен выполняться до тех пор, пока не будет достигнуто заданное условие. Конечно, при этом требуется, чтобы в области видимости цикла while было определено условие окончания цикла, иначе вы
Пример 3-1. Вложенные блоки и перенаправление ввода-вывода
#!/bin/bash# Чтение строк из файла /etc/fstab.File=/etc/fstab{read line1read line2} < $Fileecho "Первая строка в $File :"echo "$line1"echoecho "Вторая строка в $File :"echo "$line2"exit
Пример 11-6. Чтение командой read из файла через перенаправление
#!/bin/bashread var1 <data-fileecho "var1 = $var1"# Первая строка из "data-file" целиком записывается в переменную var1read var2 var3 <data-fileecho "var2 = $var2 var3 = $var3"# Обратите внимание!# Поведение команды "read" далеко от ожидаемого!# 1) Произошел возврат
Пример 16-2. Перенаправление stdout с помощью exec
#!/bin/bash# reassign-stdout.shLOGFILE=logfile.txtexec 6>&1 # Связать дескр. #6 со stdout. # Сохраняя stdout.exec > $LOGFILE # stdout замещается файлом "logfile.txt".# ----------------------------------------------------------- ## Весь вывод от команд, в данном блоке, записывается в файл
Пример 16-3. Одновременное перенаправление устройств, stdin и stdout, с помощью команды exec
#!/bin/bash# upperconv.sh# Преобразование символов во входном файле в верхний регистр.E_FILE_ACCESS=70E_WRONG_ARGS=71if [ ! -r "$1" ] # Файл доступен для чтения?then echo "Невозможно прочитать из заданного файла!" echo
Пример 16-4. Перенаправление в цикл while
#!/bin/bashif [ -z "$1" ]then Filename=names.data # По-умолчанию, если имя файла не задано.else Filename=$1fi# Конструкцию проверки выше, можно заменить следующей строкой (подстановка параметров):#+ Filename=${1:-names.data}count=0echowhile [ "$name" != Smith ] # Почему переменная $name взята
Пример 16-6. Перенаправление в цикл until
#!/bin/bash# То же самое, что и в предыдущем примере, только для цикла "until".if [ -z "$1" ]then Filename=names.data # По-умолчанию, если файл не задан.else Filename=$1fi# while [ "$name" != Smith ]until [ "$name" = Smith ] # Проверка != изменена на =.do read name # Чтение из $Filename, не со
Конструкции XML
Помимо элементов, атрибутов и текста, документы могут также содержать другие конструкции, такие как комментарии, инструкции по обработке и секции символьных данных. Эти базовые составляющие используются для того, чтобы гибко, но в четком соответствии со
18.2. Управляющие конструкции
Почти все сценарии, за редким исключением, обладают свойством самоуправляемости. В чем состоит управление ходом выполнения сценария? Предположим, что в состав сценария включено несколько команд:#!/bin/sh# создание каталогаmkdir /home/dave/mydocs#