Создание интерактивного меню в Bash
В этом уроке я покажу вам, как создать в Bash меню с множественным выбором, чтобы ваши пользователи могли выбирать, какое действие следует выполнить!
Мы бы повторно использовали часть кода из предыдущей главы, поэтому, если вы еще не прочитали ее, обязательно сделайте это.
Планирование функциональности
Начнем еще раз с рассмотрения основного функционала скрипта:
Проверяет текущее использование диска
Проверяет текущую загрузку процессора
Проверяет текущее использование оперативной памяти
Проверяет, проверяет точную версию ядра
Если у вас его нет под рукой, вот сам скрипт:
#!/bin/bash
##
# BASH menu script that checks:
# - Memory usage
# - CPU load
# - Number of TCP connections
# - Kernel version
##
server_name=$(hostname)
function memory_check() {
echo ""
echo "Memory usage on ${server_name} is: "
free -h
echo ""
}
function cpu_check() {
echo ""
echo "CPU load on ${server_name} is: "
echo ""
uptime
echo ""
}
function tcp_check() {
echo ""
echo "TCP connections on ${server_name}: "
echo ""
cat /proc/net/tcp | wc -l
echo ""
}
function kernel_check() {
echo ""
echo "Kernel version on ${server_name} is: "
echo ""
uname -r
echo ""
}
function all_checks() {
memory_check
cpu_check
tcp_check
kernel_check
}Затем мы создадим меню, которое позволит пользователю выбирать, какую функцию выполнять.
Конечно, вы можете настроить функции или добавить новые в зависимости от ваших потребностей.
Добавляем немного цветов
Чтобы сделать меню более «читабельным» и понятным на первый взгляд, мы добавим несколько цветовых функций.
В начале вашего скрипта добавьте следующие функции цвета:
Вы можете использовать функции цвета следующим образом:
Вышеупомянутое выведет Some text hereстроку, и она будет синей!
Добавление меню
Наконец, чтобы добавить наше меню, мы создадим отдельную функцию с переключением регистра для пунктов меню:
Краткое изложение кода
Сначала мы просто выделяем пункты меню некоторым цветом:
Затем мы читаем ответ пользователя и сохраняем его в переменной с именем $a:
Наконец, у нас есть случай переключения, который запускает разные функции в зависимости от значения $a:
В конце нам нужно вызвать функцию меню, чтобы распечатать меню:
Тестирование скрипта
В конечном итоге ваш скрипт будет выглядеть так:
Чтобы протестировать скрипт, создайте новый файл с .shрасширением, например: menu.shи затем запустите его:
Результат, который вы получите, будет выглядеть так:
Вы сможете выбрать другой вариант из списка, и каждый номер будет вызывать отдельную функцию из скрипта:
Заключение
Теперь вы знаете, как создать меню Bash и реализовать его в своих скриптах, чтобы пользователи могли выбирать разные значения!
Last updated