Библиотека knigago >> Компьютеры: Операционные системы >> Linux >> Bash-скрипты, руководство в 11 частях


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1995, книга: Прыжок в ничто
автор: Александр Романович Беляев

"Прыжок в ничто" классика советской научной фантастики, написанная маэстро жанра Александром Беляевым. Роман погружает читателей в захватывающее путешествие времени и пространства, исследуя границы человеческих возможностей и этические последствия научного прогресса. История разворачивается вокруг Николая Стаханова, молодого изобретателя, который создает машину времени, способную переносить сознание в тела людей из прошлого. Охваченный любопытством и желанием исправить исторические...

Автор неизвестен - Bash-скрипты, руководство в 11 частях

Bash-скрипты, руководство в 11 частях
Книга - Bash-скрипты, руководство в 11 частях.  Автор неизвестен  - прочитать полностью в библиотеке КнигаГо
Название:
Bash-скрипты, руководство в 11 частях
Автор неизвестен

Жанр:

Другие языки и системы программирования, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Linux

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Bash-скрипты, руководство в 11 частях"

Аннотация к этой книге отсутствует.

Читаем онлайн "Bash-скрипты, руководство в 11 частях". [Страница - 7]

на то, как мы инициализируем цикл, а именно — на подстановочный знак «*» в конце адреса папки. Этот символ можно воспринимать как шаблон, означающий: «все файлы с любыми именами». он позволяет организовать автоматическую подстановку имён файлов, которые соответствуют шаблону.


При проверке условия в операторе if, мы заключаем имя переменной в кавычки. Сделано это потому что имя файла или папки может содержать пробелы.

Циклы for в стиле C


Если вы знакомы с языком программирования C, синтаксис описания bash-циклов for может показаться вам странным, так как привыкли вы, очевидно, к такому описанию циклов:


for (i = 0; i < 10; i++)

{

printf(“number is %d\n”, i);

}

В bash-скриптах можно использовать циклы for, описание которых выглядит очень похожим на циклы в стиле C, правда, без некоторых отличий тут не обошлось. Схема цикла при подобном подходе выглядит так:


for (( начальное значение переменной ; условие окончания цикла; изменение переменной ))

На bash это можно написать так:


for (( a = 1; a < 10; a++ ))

А вот рабочий пример:


#!/bin/bash

for (( i=1; i <= 10; i++ ))

do

echo "number is $i"

done

Этот код выведет список чисел от 1 до 10.


Книгаго: Bash-скрипты, руководство в 11 частях. Иллюстрация № 22

Работа цикла в стиле C

Цикл while


Конструкция for — не единственный способ организации циклов в bash-скриптах. Здесь можно пользоваться и циклами while. В таком цикле можно задать команду проверки некоего условия и выполнять тело цикла до тех пор, пока проверяемое условие возвращает ноль, или сигнал успешного завершения некоей операции. Когда условие цикла вернёт ненулевое значение, что означает ошибку, цикл остановится.


Вот схема организации циклов while


while команда проверки условия

do

другие команды

done

Взглянем на пример скрипта с таким циклом:


#!/bin/bash

var1=5

while [ $var1 -gt 0 ]

do

echo $var1

var1=$[ $var1 - 1 ]

done

На входе в цикл проверяется, больше ли нуля переменная $var1. Если это так, выполняется тело цикла, в котором из значения переменной вычитается единица. Так происходит в каждой итерации, при этом мы выводим в консоль значение переменной до его модификации. Как только $var1 примет значение 0, цикл прекращается.

Книгаго: Bash-скрипты, руководство в 11 частях. Иллюстрация № 23

Результат работы цикла while

Если не модифицировать переменную $var1, это приведёт к попаданию скрипта в бесконечный цикл.

Вложенные циклы


В теле цикла можно использовать любые команды, в том числе — запускать другие циклы. Такие конструкции называют вложенными циклами:


#!/bin/bash

for (( a = 1; a <= 3; a++ ))

do

echo "Start $a:"

for (( b = 1; b <= 3; b++ ))

do

echo " Inner loop: $b"

done

done

Ниже показано то, что выведет этот скрипт. Как видно, сначала выполняется первая итерация внешнего цикла, потом — три итерации внутреннего, после его завершения снова в дело вступает внешний цикл, потом опять — внутренний.


Книгаго: Bash-скрипты, руководство в 11 частях. Иллюстрация № 24

Вложенные циклы

Обработка содержимого файла


Чаще всего вложенные циклы используют для обработки файлов. Так, внешний цикл занимается перебором строк файла, а внутренний уже работает с каждой строкой. Вот, например, как выглядит обработка файла /etc/passwd:


#!/bin/bash

IFS=$'\n'

for entry in $(cat /etc/passwd)

do

echo "Values in $entry –"

IFS=:

for value in $entry

do

echo " $value"

done

done

В этом скрипте два цикла. Первый проходится по строкам, используя в качестве разделителя знак перевода строки. Внутренний занят разбором строк, поля которых разделены двоеточиями.


Книгаго: Bash-скрипты, руководство в 11 частях. Иллюстрация № 25

Обработка данных файла

Такой подход можно использовать при обработке файлов формата CSV, или любых подобных файлов, записывая, по мере надобности, в переменную окружения IFS символ-разделитель.

Управление циклами


Возможно, после входа в цикл, нужно будет остановить его при достижении переменной цикла определённого значения, которое не соответствует изначально заданному условию --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Другие книги автора « »:

Дара. Анонимный викторианский роман. Автор неизвестен
- Дара. Анонимный викторианский роман

Жанр: О любви

Год издания: 1997

Серия: Любовный роман (Крон-Пресс)

Ла-5. Автор неизвестен
- Ла-5

Жанр: Технические науки

Год издания: 2006

Серия: История самолета