Добавить в корзинуПозвонить
Найти в Дзене
Old Programmer

Уроки по языку программирования bash от Old Programmer. Number 8

Доброго времени суток на канале Old Programmer. Канале о программировании и программистах. Сегодня продолжение разговора о программировании на языке bash. Несколько полезных ссылок для вас Язык программирования bash. Циклы Продолжаем заниматься языком программирования bash. Обычно в уроке есть ключевая тема и дополнительные. Основная у нас сегодня циклы. Но начнем с дополнительной. На прошлом уроке мы рассмотрели оператор read, который читает данные с клавиатуры. Рассмотрим например такую простую программу. bash поддерживает три стандартных потока ввода вывода: чтение с клавиатуре — имеет стандартный дескриптор 0, стандартный вывод — имеет дескриптор 1, еще один поток вывода для сообщений об ошибках — имеет дескриптор 2. В обычной ситуации оба вывода осуществляется на экран. Bash, однако, предполагает возможность перенаправления ввод-вывода. Пусть файл in содержит строку 1 "qwery as" 3 4 Если программа называется bash1 то, bash1 < in и переменным a b c d будут присвоены знач
Оглавление

Доброго времени суток на канале Old Programmer. Канале о программировании и программистах. Сегодня продолжение разговора о программировании на языке bash.

Несколько полезных ссылок для вас

Язык программирования bash. Ссылки на ресурсы
Old Programmer29 марта 2022
Список разделов канала Old Programmer, канала о программировании и программистах
Old Programmer27 мая 2021
Программирование и в шутку и всерьез
Программирование и в шутку и всерьез

Язык программирования bash. Циклы

Продолжаем заниматься языком программирования bash. Обычно в уроке есть ключевая тема и дополнительные. Основная у нас сегодня циклы. Но начнем с дополнительной.

На прошлом уроке мы рассмотрели оператор read, который читает данные с клавиатуры. Рассмотрим например такую простую программу.

bash поддерживает три стандартных потока ввода вывода: чтение с клавиатуре — имеет стандартный дескриптор 0, стандартный вывод — имеет дескриптор 1, еще один поток вывода для сообщений об ошибках — имеет дескриптор 2. В обычной ситуации оба вывода осуществляется на экран. Bash, однако, предполагает возможность перенаправления ввод-вывода.

Пусть файл in содержит строку

1 "qwery as" 3 4

Если программа называется bash1 то,

bash1 < in

и переменным a b c d будут присвоены значения 1 "qwery as" 3 4, в свою очередь

bash1 <in > ou

вывод функции echo будет осуществляться в текстовый файл ou. К перенаправлению ввода-вывода мы вернемся еще не раз.

Перейдем теперь к циклам. Циклы в bash во многом похожи на циклы в Си, python и др. В частности можно использовать операторы break и continue.

Цикл for

Цикл for в bash существует в трех разновидностях: Си-подобный цикл, с элементами из списка, на основе результата работы некоторой утилиты.

Все три варианта цикла представлены в следующей программе

По поводу системной переменной IFS. Она используется, чтобы определить разделитель, с помощью которого делим строку на элементы. Если не определять IFD, то при делении будут учитывать и пробелы и знаки табуляции и символы перевода строки.

Цикл while

Данный цикл будет выполнять до тех пор, справедливо указанное условие. Выход из цикла происходит не только когда, условие перестает выполняться, но и может быть инициировано оператором break. Также можно использовать оператор continue. При его выполнении, цикла продолжает выполняться со следующей итерации.

Смотрим следующий пример

Цикл until

Цикл until противоположен while. Условие показывает, что цикл должен закончиться, когда оно будет выполняться.

Пример

На сегодня все.

До скорого!

Вы там держитесь. Счастья и здоровья вам. И до скорых встреч на канале Old Programmer. И не забудьте комментировать, ставить лайки и подписываться.

Программирование и в шутку и всерьез
да, Линукс
да, Линукс

#программирование #программисты #linux #bash #языки программирования