Похожие главы из других книг

Пример 3-1. Вложенные блоки и перенаправление ввода-вывода

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Пример 3-1. Вложенные блоки и перенаправление ввода-вывода #!/bin/bash# Чтение строк из файла /etc/fstab.File=/etc/fstab{read line1read line2} < $Fileecho "Первая строка в $File :"echo "$line1"echoecho "Вторая строка в $File :"echo "$line2"exit


Пример 10-2. Цикл for с двумя параметрами в каждом из элементов списка

Из книги Конец холивара. Pascal vs C автора Кривцов М. А.

Пример 10-2. Цикл for с двумя параметрами в каждом из элементов списка #!/bin/bash# Список планет.# Имя кажой планеты ассоциировано с расстоянием от планеты до Солнца (млн. миль).for planet in "Меркурий 36" "Венера 67" "Земля 93" "Марс 142" "Юпитер 483"do set -- $planet # Разбиение переменной "planet" на


Пример 10-14. Простой цикл while

Из книги автора

Пример 10-14. Простой цикл while #!/bin/bashvar0=0LIMIT=10while [ "$var0" -lt "$LIMIT" ]do echo -n "$var0 " # -n подавляет перевод строки. var0=`expr $var0 + 1` # допускается var0=$(($var0+1)).doneechoexit


Пример 10-16. Цикл while с несколькими условиями

Из книги автора

Пример 10-16. Цикл while с несколькими условиями #!/bin/bashvar1=unsetprevious=$var1while echo "предыдущее значение = $previous" echo previous=$var1 # запомнить предыдущее значение [ "$var1" != end ] # В операторе "while" присутствуют 4 условия, но только последнее управляет циклом. # *последнее* условие -


Пример 10-18. Цикл until

Из книги автора

Пример 10-18. Цикл until #!/bin/bashuntil [ "$var1" = end ] # Проверка условия производится в начале итерации.do echo "Введите значение переменной #1 " echo "(end - выход)" read var1 echo "значение переменной #1 = $var1"done exit


Пример 10-19. Вложенный цикл

Из книги автора

Пример 10-19. Вложенный цикл #!/bin/bash# Вложенные циклы "for".outer=1 # Счетчик внешнего цикла.# Начало внешнего цикла.for a in 1 2 3 4 5do echo "Итерация #$outer внешнего цикла." echo "---------------------" inner=1 # Сброс счетчика вложенного цикла. # Начало вложенного цикла. for b in 1 2 3 4 5 do echo "Итерация


Пример 11-6. Чтение командой read из файла через перенаправление

Из книги автора

Пример 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

Из книги автора

Пример 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

Из книги автора

Пример 16-3. Одновременное перенаправление устройств, stdin и stdout, с помощью команды exec #!/bin/bash# upperconv.sh# Преобразование символов во входном файле в верхний регистр.E_FILE_ACCESS=70E_WRONG_ARGS=71if [ ! -r "$1" ] # Файл доступен для чтения?then echo "Невозможно прочитать из заданного файла!" echo


Пример 16-4. Перенаправление в цикл while

Из книги автора

Пример 16-4. Перенаправление в цикл while #!/bin/bashif [ -z "$1" ]then Filename=names.data # По-умолчанию, если имя файла не задано.else Filename=$1fi# Конструкцию проверки выше, можно заменить следующей строкой (подстановка параметров):#+ Filename=${1:-names.data}count=0echowhile [ "$name" != Smith ] # Почему переменная $name взята


Пример 16-9. Перенаправление в конструкции if/then

Из книги автора

Пример 16-9. Перенаправление в конструкции if/then #!/bin/bashif [ -z "$1" ]then Filename=names.data # По-умолчанию, если файл не задан.else Filename=$1fiTRUE=1if [ "$TRUE" ] # конструкции "if true" и "if :" тоже вполне допустимы.then read name echo $namefi <"$Filename"# ^^^^^^^^^^^^# Читает только первую строку из файла.exit


2.2.1. Цикл типа “пока” (цикл с предусловием)

Из книги автора

2.2.1. Цикл типа “пока” (цикл с предусловием) Пример 1.4: Нахождение наибольшего общего делителя двух целых положительных чисел с помощью известного алгоритма Евклида.Пока X ? Y делать если X> Y то X:=X-Y иначе Y:=Y-X; Писать (‘НОД=’, X);WHILE X <> Y DO IF X> Y THEN X:=X-Y ELSE Y:=Y-X; WRITE