Как сделать

Как написать BASH для Loop

Человек, использующий GNU Nano и Bash для цикла

Ключевой частью любого языка программирования и написания сценариев является способность запускать один и тот же кусок кода снова и снова. Bash предлагает несколько способов повторить код — процесс, называемый зацикливанием. Цикл for повторяет определенный раздел кода. Они полезны для выполнения ряда команд до тех пор, пока не будет выполнено определенное условие, после которого команды останавливаются.

Как перебрать список

Человек, использующий GNU Nano и Bash для цикла
 Lifewire / Мэдди Прайс

Рассмотрим простой пример сценария с названием loop.sh :

#! / bin / bash 
для числа в 1 2 3 4 5
do
echo $ number
done
exit 0

Bash способ использования для петель несколько отличается от того , как другие программирования и языки сценариев обработки для петель. Давайте разберем сценарий.

В цикле BASH for все операторы между do и done выполняются один раз для каждого элемента в списке. В этом примере список — это все, что следует за словом в числах 1 2 3 4 5 .

Каждый раз, когда цикл повторяется, следующее значение в списке вставляется в переменную, указанную после слова для . В приведенном выше цикле переменная называется числом .

Оператор echo отображает информацию на экране. Следовательно, этот пример принимает числа от 1 до 5 и выводит каждое число одно за другим на экран:

пример цикла в скрипте bash

Как выполнить цикл между начальной и конечной точкой

Проблема с этим скриптом loop.sh состоит в том, что если вы хотите обработать больший список (например, от 1 до 500), потребуются целые годы, чтобы набрать все числа. Вместо этого укажите начальную и конечную точки:

#! / bin / bash 
для числа в {1..10}
do
echo "$ number"
done
выход 0

Правила одинаковы. Значения после слова in составляют список для повторения, и каждое значение в списке помещается в переменную (то есть число), и каждый раз, когда цикл повторяется, выполняются операторы между do и done .

Основным отличием является способ формирования списка. Фигурные скобки обозначают диапазон, и диапазон, в данном случае, составляет от 1 до 10 (две точки разделяют начало и конец диапазона).

Следовательно, этот пример просматривает каждое число от 1 до 10 и выводит число на экран.

для номера в 1 2 3 4 5 6 7 8 9 10

Как пропустить числа в диапазоне

В предыдущем примере показано, как выполнить цикл между начальной и конечной точкой. Вот как можно пропустить числа в диапазоне.

Например, чтобы выполнить цикл от 0 до 100, но показывать только каждое десятое число, используйте следующий скрипт для получения этого вывода:

#! / bin / bash 
для числа в {0..100..10}
сделать
эхо "$ число"
сделано,
выход 0

Правила одинаковы. Существует список, переменная и набор операторов, которые должны выполняться между do и done . На этот раз список выглядит так: {0..100..10} .

Первое число равно 0, а конечное число равно 100. Третье число (10) — это количество элементов в списке, которое оно будет пропускать.

Таким образом, приведенный выше пример отображает следующий вывод:

альтернативный выход bash loop

Практический пример

Для циклов делать больше, чем повторять списки чисел. Например, используйте вывод других команд в качестве списка.

#! / bin / bash 
для файла в ./*.mp3
do
mpg -w ./wavs/"$ndomfile‹".wav "$ file"
сделано

Список в этом примере — это каждый файл с расширением .MP3 в текущей папке, а переменная — это файл.

Команда mpg преобразует файл MP3 в WAV. Однако вам, вероятно, нужно сначала установить этот инструмент с помощью менеджера пакетов.

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone