Оператор for

Оператор for выполняет последовательность команд для каждого элемента списка. Он имеет формат:

for переменная <ENTER>

in значения переменной <ENTER>

do<ENTER>

команда_1 <ENTER>

последняя команда <ENTER>

done<ENTER>

Для каждой итерации цикла следующий элемент списка присваивается переменной, данной в операторе for. Ссылка на эту переменную может быть сделана в любом месте в командах внутри оператора do. При конструировании каждой секции команд вам необходимо убедиться, что каждому do соответствует done в конце цикла. Переменная может иметь любое имя. Например, если ваша переменная названа var, то ссылка в списке команд на $var сделает значение доступным. Если оператор in опущен, то значением для var будет набор аргументов, заданный в команде и доступный в специальном параметре $*. Список команд между ключевым словом do и done будет выполнен для каждого значения.

Когда команды будут выполнены для последнего элемента списка, программа будет выполнять строку ниже done.

Оператор while

Оператор цикла while использует 2 группы команд. Он будет выполнять последовательность команд во второй группе (список do... done) до тех пор, пока последняя команда в первой группе (список while) возвращает состояние "истина", означающее, что выражение после do может быть выполнено.

Общий формат оператора цикла while:

while<ENTER>

команда_1 <ENTER>

последняя команда <ENTER>

do<ENTER>

команда _1 <ENTER>

последняя команда <ENTER>

done<ENTER>

Например, программа enter.name использует цикл while для ввода списка имен в файл. Программа состоит из следующих командных строк:

echo “Введите пожалуйста список имён <ENTER>

echo “после завершения ввода нажмите <Ctrl+D>

While read x

do

echo $x>>xfile

Done

echo xfile содержит следующие имена:

Cat xfile

Их можно просмотреть, введя команду:

cat enter.name<ENTER>

Обратите внимание, что после завершения цикла программа выполняет команды ниже done.

После того, как цикл завершится, программа распечатает все имена, содержащиеся в xfile.

Условные операторы. Оператор if... then

Команда if говорит shell программе, что нужно выполнить последовательность команд после then, если последняя команда в списке команд конструкции if выполнилась успешно. Конструкции if заканчиваются ключевым словом fi.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: