Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все 5 лабов по ос.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
112.13 Кб
Скачать
  1. Условный оператор

Условные операторы предоставляют возможность решить, выполнять действие или нет; решение принимается при вычислении значения выражения.

Существует большое количество форм условных операторов. Элементарная форма - это

if выражение then оператор

,где 'оператор' выполняется только в том случае, если 'выражение' имеет значение "истина". '2<1' - это выражение, имеющее значение "ложь", в то время как '2>1' - "истина".

Существуют другие формы условных операторов, такие как:

if выражение then оператор1 else оператор2.

Здесь 'оператор1' выполняется, если 'выражение'- истина; в противном случае, выполняется 'оператор2'.

Синтаксис:

Элементарная конструкция оператора 'if' в bash выглядит следующим образом:

if [выражение];

then

code if 'выражение' is true.

fi

Пример: элементарный образец условного оператора if .. then

#!/bin/bash

if [ "foo" = "foo" ]; then

echo-выражение вычислилось как истина

fi

Если выражением внутри квадратных скобок является истина, то выполняемый код находится после слова 'then' и перед словом 'fi', которое обозначает конец исполняемого при выполнении условия кода.

Пример: элементарный пример условного оператора if .. then ... else

#!/bin/bash

if [ "foo" = "foo" ]; then

echo-выражение вычислилось как истина

else

echo-выражение вычислилось как ложь

fi

Пример: условные операторы с переменными

#!/bin/bash

T1="foo"

T2="bar"

if [ "$T1" = "$T2" ]; then

echo-выражение вычислилось как истина

else

echo-выражение вычислилось как ложь

fi

  1. Цикл

Цикл for предоставляет возможность выполнять последовательные действия над "словами" в строке.

Цикл while выполняет кусок кода, если тестируемым выражением является истина; и останавливается при условии, если им является ложь (или внутри исполняемого кода встречается явно заданное прерывание цикла).

Пример цикла for

1: #!/bin/bash

2: for i in $( ls ); do

3: echo item: $i

4: done

Во второй строке i представляется в качестве переменной, которая получает различные значения, содержащиеся в $( ls ).

При необходимости третья строка могла бы быть длиннее; или там могло бы находиться несколько строк перед done (4-я строка).

'done' (4-я строка) показывает, что код, в котором используется значение $i, заканчивается и $i получает новое значение.

В Linux имеется программа seq, которая воспринимает в качестве аргументов два числа и выдает последовательность всех чисел, расположенных между заданными. С помощью этой команды можно заставить for в bash работать точно так же, как аналогичный оператор работает в обычных языках программирования. Для этого достаточно записать цикл for следующим образом:

for a in $( seq 1 10 ) ; do

cat file_$a

done

Эта команда выводит на экран содержимое 10-ти файлов: "file_1", ..., "file_10".

#!/bin/bash

for i in `seq 1 10`;

do

echo $i

done

Пример цикла while:

#!/bin/bash

COUNTER=0

while [ $COUNTER -lt 10 ]; do

echo The counter is $COUNTER

let COUNTER=COUNTER+1

done

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]