Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Виривання циклу

bash надає дві вбудовані команди, які можна використовувати для керування ходом програми всередині циклів. Команда break негайно завершує цикл, і керування програмою поновлюється з наступним оператором, наступним за циклом. Команда продовження призводить до пропуску залишок циклу, а керування програмою відновлюється з наступною ітерацією циклу. Тут ми бачимо версію програми while-menu, яка включає перерву та продовження:


#! / бін / баш


# while-menu2: керована меню системна інформаційна програма DELAY=3 # Кількість секунд для відображення результатів

поки правда; робити

ясно

кіт <<- _EOF_

Оберіть будь ласка:


1. Відображення системної інформації

2. Відобразити дисковий простір

3. Відображення використання домашнього простору

0. Киньте


_EOF_

read -p "Введіть вибір [0-3] > "


якщо [[ $REPLY =~ ^[0-3]$ ]]; тоді якщо [[ $REPLY == 1 ]]; тоді

echo "Ім'я хосту: $HOSTNAME" час роботи

спати $DELAY

продовжувати

fi

якщо [[ $REPLY == 2 ]]; потім df -h

спати $DELAY

продовжувати

fi

якщо [[ $REPLY == 3 ]]; тоді

якщо [[ $(id -u) -eq 0 ]]; тоді

echo "Використання домашнього простору (всі користувачі)" du -sh /home/*

ще

#! / бін / баш


# while-menu2: керована меню системна інформаційна програма DELAY=3 # Кількість секунд для відображення результатів

поки правда; робити

ясно

кіт <<- _EOF_

Оберіть будь ласка:


1. Відображення системної інформації

2. Відобразити дисковий простір

3. Відображення використання домашнього простору

0. Киньте


_EOF_

read -p "Введіть вибір [0-3] > "


якщо [[ $REPLY =~ ^[0-3]$ ]]; тоді якщо [[ $REPLY == 1 ]]; тоді

echo "Ім'я хосту: $HOSTNAME" час роботи

спати $DELAY

продовжувати

fi

якщо [[ $REPLY == 2 ]]; потім df -h

спати $DELAY

продовжувати

fi

якщо [[ $REPLY == 3 ]]; тоді

якщо [[ $(id -u) -eq 0 ]]; тоді

echo "Використання домашнього простору (всі користувачі)" du -sh /home/*

ще


echo "Використання домашнього простору ($USER)" du -sh $HOME

fi

спати $DELAY

продовжувати

fi

якщо [[ $REPLY == 0 ]]; потім зламати

fi

ще

echo "Недійсний запис." спати $DELAY

fi зроблено

echo «Програму припинено».

echo "Використання домашнього простору ($USER)" du -sh $HOME

fi

спати $DELAY

продовжувати

fi

якщо [[ $REPLY == 0 ]]; потім зламати

fi

ще

echo "Недійсний запис." спати $DELAY

fi зроблено

echo «Програму припинено».


У цій версії сценарію ми налаштували файл нескінченний цикл (який ніколи не завершується самостійно) за допомогою правда команда для надання статусу виходу в той час як, так як правда завжди буде виходити зі статусом виходу нуль, цикл ніколи не закінчиться. Це напрочуд поширена техніка написання сценаріїв. Оскільки цикл ніколи не закінчиться сам по собі, програміст повинен надати якийсь спосіб вийти з циклу, коли настане відповідний час. У цьому сценарії перерву Команда використовується для виходу з циклу, коли вибрано вибір «0». The продовжити Команда була включена в кінці інших варіантів сценарію, щоб забезпечити більш ефективне виконання. З допомогою продовжувати, сценарій пропустить код, який не потрібен, коли буде визначено виділення. Наприклад, якщо вибір «1» вибрано та визначено, немає причин перевіряти інші варіанти.


 

Найпопулярніші хмарні обчислення ОС на OnWorks: