Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

в то время как

bash может выразить аналогичную идею. Допустим, мы хотели отобразить пять чисел последовательно.


обычный порядок от одного до пяти. а колотить сценарий может быть построен следующим образом:


#! / Bin / Баш


# while-count: отображать серию чисел count = 1

а [[$ count -le 5]]; do echo $ count count = $ ((count + 1))

сделанный

эхо «Готово».

#! / Bin / Баш


# while-count: отображать серию чисел count = 1

а [[$ count -le 5]]; do echo $ count count = $ ((count + 1))

сделанный

эхо «Готово».


При выполнении этот сценарий отображает следующее:



[я @ linuxbox ~] $ подсчет

1

2

3

4

5

Законченный.

[я @ linuxbox ~] $ подсчет

1

2

3

4

5

Законченный.


Синтаксис в то время как команда является:

в то время как команды; делать команды; сделано

Подобно if, в то время как оценивает статус выхода списка команд. Пока статус выхода равен нулю, он выполняет команды внутри цикла. В приведенном выше сценарии переменная считать создается и ему присваивается начальное значение 1. в то время как команда оценивает статус выхода [[]] составная команда. Пока [[]] команда возвращает нулевой статус выхода, команды внутри цикла выполняются. В конце каждого цикла [[]] команда повторяется. После пяти итераций цикла значение считать увеличился до 6, [[]] команда больше не возвращает нулевой статус выхода, и цикл завершается. Программа переходит к следующему оператору, следующему за циклом.

Мы можем использовать в то время как цикл улучшить меню для чтения программа из предыдущей главы:


#! / Bin / Баш


# while-menu: информационная программа, управляемая с помощью меню.

#! / Bin / Баш


# while-menu: информационная программа, управляемая с помощью меню.


ЗАДЕРЖКА = 3 # Количество секунд для отображения результатов


а [[$ REPLY! = 0]]; делать

Очистить

кошка << - _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

еще

echo "Неверная запись."

спать $ DELAY

fi

сделанный

echo «Программа завершена».

ЗАДЕРЖКА = 3 # Количество секунд для отображения результатов


а [[$ REPLY! = 0]]; делать

Очистить

кошка << - _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

еще

echo "Неверная запись."

спать $ DELAY

fi

сделанный

echo «Программа завершена».


Заключив меню в цикл while, мы можем заставить программу повторять отображение меню после каждого выбора. Цикл продолжается до тех пор, пока оТВЕТИТЬ не равно «0», и меню отображается снова, давая пользователю возможность сделать другой выбор. В конце каждого действия спать выполняется команда, поэтому программа приостанавливается на несколько секунд, чтобы можно было увидеть результаты выбора, прежде чем экран очистится и снова отобразится меню. Один раз оТВЕТИТЬ равно «0», что указывает на выбор «выйти»,


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


Лучшие облачные вычисления для ОС в OnWorks: