Циклы в языке shell

Статья в доработке

    Простой цикл for
    for planet in "Меркурий 36" "Венера 67" "Земля 93" "Марс 142" "Юпитер 483" do #Разбиение переменной planet на множество аргументов set -- $planet echo "$1 в $2,000,000 миль от Солнца" done

    Конструкция set -- предохраняет от неожиданностей, на тот случай если planet будет пустой или будет начинаться с символа -
    Если [список] в цикле for не задан, то в качестве оного используется переменная $@ -- список аргументов командной строки
    Как это показано в следующем примере

    for a do echo -n "$a " done
    while

    Оператор while может иметь несколько условий. Но только последнее из них определяет возможность продолжения цикла

    var1=20; while [ "$var1" -gt 0 ] do echo "$var1" var1=`expr $var1 - 1` done #Несколько условий var1=20; while echo "Текущее значение переменной: "; var1=`expr $var1 - 1`; [ "$var1" -gt 0 ] do echo "$var1" done
    until

    Оператор цикла until проверяет условие в начале каждой итерации, но в отличие от while итерация возможна только в том случае, если условие ложно

    Вложенные циклы
    outer=1 for a in 1 2 3 4 5 do echo "Итерация #$outer внешнего цикла" echo "_______________________________" inner=1 for b in 1 2 3 4 5 do echo "Итерация #$inner вложенного цикла" let "inner+=1" done let "outer+=1" echo done
    continue и break

    Команде break может быть передан необязательный параметр, номер вложенного цикла

    LIMIT=10 a=0 while [ $a -le $LIMIT ] do a=$(($a+1)) if [ "$a" -eq 3 ] || [ "$a" -eq 10 ] then continue fi echo "$a" done
    Источники
    Последнее изменение: 06.10.2024 21:45


    Связанные темы

    Команда exec linux

    Использование команды tee в Linux

    Язык shell в Linux

    Библиотеки Linux

    Использование md5sum

    Использование wget и curl в Linux

    Команда chattr и lsattr в Linux

    Использование awk Linux Alpine

    Использование sed в Linux

    Применение getopt в Linux

    Переменные окружения в Linux

    Блокировка пользователя в Linux

    Управляющие структуры

    Классы символов в Linux

    Использование tar в Linux

    Оптимизация производительности Postgresql

    Подстановка имен файлов

    Проверка на необходимость перезапуска после обновления пакетов

    Стандартные потоки и перенаправление ввода/вывода в Linux

    Функции в языке Shell

    Использование grep в Linux

    Архивирование и сжатие файлов в Linux

    Использование find Linux

    Права пользователей и групп

    Полезные команды и скрипты Linux

    Переменные в Linux

    foreach for do-while

    Условная конструкция if в Linux

    Использование grep в Linux

    Использование xargs в Linux

    Фигурные скобки в bash

    Использование оператора select в языке shell

    Внутренние и внешние команды linux

    Использование конструкции case в Linux

    Подстановка команд в Linux

    Perf

    Мониторинг системы Linix с помощью getconf

    Использование ANCI последовательностей в Linux

    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ