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

логотип

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

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

Меню

Поширений вид інтерактивності називається за меню. У програмах, що керуються меню, користувачеві надається список варіантів і пропонується вибрати один. Наприклад, ми можемо уявити собі програму, яка представляє наступне:



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


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

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

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

0. Киньте


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

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


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

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

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

0. Киньте


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


Використовуючи те, що ми навчилися з написання нашого сторінка sys_info програми, ми можемо створити програму, керовану меню, для виконання завдань у наведеному вище меню:



#! / бін / баш

# read-menu: очищення системної інформаційної програми на основі меню

луна"

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


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

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

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

0. Вийти "

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

#! / бін / баш

# read-menu: очищення системної інформаційної програми на основі меню

луна"

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


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

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

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

0. Вийти "

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


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

echo «Програму припинено». вихід

fi

якщо [[ $REPLY == 1 ]]; потім лунайте "Ім'я хосту: $HOSTNAME" час роботи

вихід

fi

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

вихід

fi

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

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

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

ще

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

fi вихід

fi ще

echo "Недійсний запис." >&2 вихід 1

fi

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

echo «Програму припинено». вихід

fi

якщо [[ $REPLY == 1 ]]; потім лунайте "Ім'я хосту: $HOSTNAME" час роботи

вихід

fi

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

вихід

fi

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

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

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

ще

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

fi вихід

fi ще

echo "Недійсний запис." >&2 вихід 1

fi


Цей сценарій логічно розділений на дві частини. Перша частина відображає меню та вводить відповідь користувача. Друга частина визначає відповідь і виконує обрану дію. Зверніть увагу на використання вихід команду в цьому скрипті. Він використовується тут, щоб запобігти виконання сценарієм непотрібного коду після виконання дії. Наявність кількох точок виходу в програмі, як правило, погана ідея (це ускладнює розуміння логіки програми), але вона працює в цьому сценарії.


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