Команды Linux

Команда выбора Bash

Команда выбора Bash
'Выбирать'команда - очень полезная команда bash для создания меню bash. Различные типы задач генерации меню, создание списка директоров на основе меню, создание меню из содержимого файла и т. Д. можно сделать с помощью команды выбора bash. В этом руководстве показано, как реализовать эти типы задач с помощью команды выбора bash.

Синтаксис:

выберите v в data_list
делать
заявление1
Заявление 2
Заявление 3
Выполнено

Здесь пункт меню будет создан из data_list, который может быть массивом или другим источником данных. Каждый пункт меню извлекается из data_list и сохраняется в переменной для создания меню. Команду Select можно использовать с командой case также для создания меню. Здесь на очень простых примерах показаны различные типы задач по созданию меню.

Пример-1: Создание простого меню

Создайте файл bash с именем select1.ш со следующим сценарием bash. Здесь, 'Выбрать' команда извлечет все данные из списка и распечатает данные в виде меню. Следующий скрипт содержит названия брендов мобильных телефонов, и после выполнения скрипта он создаст меню мобильных брендов и попросит пользователя выбрать любой бренд. Будет напечатано название выбранной марки.  Пользователь должен нажать Ctrl + c завершить сценарий.

#!/ bin / bash
# Определите список меню здесь
выберите марку в Samsung Sony iphone symphony Walton
делать
echo "Вы выбрали $ brand"
Выполнено

Выход:

Запускаем скрипт.

$ bash select1.ш

Следующий вывод появится после запуска скрипта и выбора пункта меню номер 1 и 4.

Пример-2: выберите команду с оператором case

В этом примере показано, как создать меню bash с помощью оператора case. Создайте файл bash с именем select2.ш со следующим сценарием bash. После запуска скрипта пользователь выберет любой пункт меню, и оператор case будет соответствовать выбранному значению со значением case. Здесь несколько значений case используются для сопоставления с выбранным пунктом меню. Если ни одно из значений case не совпадает с выбранным пунктом меню, будет напечатано «Invalid entry».

#!/ bin / bash
echo "Какая операционная система вам нравится??"
# Имена операционных систем используются здесь как источник данных
выберите ОС в Ubuntu LinuxMint Windows8 Windows7 WindowsXP
делать
case $ os в
# Здесь объявлены два значения case для сопоставления
«Ubuntu» | «LinuxMint»)
echo "Я также использую $ os."
;;
# Здесь объявлены три значения case для сопоставления
«Windows8» | «Windows10» | "Windows XP")
echo "Почему бы вам не попробовать Linux?"
;;
# Соответствие с недопустимыми данными
*)
echo "Неверная запись."
перерыв
;;
esac
Выполнено

Выход:
Запускаем скрипт.

$ bash select2.ш

Для другого выбора будут отображаться разные выходные данные. Здесь в первый раз выбирается 1, то есть Ubuntu. он совпадает со значением первого регистра распечатать сообщение «Я также использую Ubuntu». В следующий раз будет выбрано 4, а пункт меню Windows 7 но нет значения регистра с этим именем. Итак, на этот раз он напечатал "Неверный ввод" и завершить сценарий.

Пример-3: Создание вложенного меню bash

Когда одно меню создается под другим меню, оно называется вложенным меню. Вложенное меню может быть создано в базе с помощью двух или более операторов select и case. Создайте файл bash с именем select3.ш со следующим сценарием bash. Здесь два оператора select и case используются для реализации вложенного меню. Родительское меню содержит 4 пункта, а подменю - 3 пункта.

#!/ bin / bash
пока правда
делать
# Здесь объявлены элементы родительского меню
выберите элемент в Mouse Printer Monitor HDD
делать
# case оператор для сравнения первых пунктов меню
case $ item in
Мышь)
echo "Какой монитор вам нравится??"
;;
Принтер)
# Пункты подменю здесь объявлены здесь
выберите sub_item в Samsung HP Dell
делать
# оператор case для пунктов солнечного меню
case $ sub_item в
Samsung)
echo "Цена принтера samsung - 100 долларов"
перерыв
;;
HP)
echo "Новый принтер HP 880 цена принтера 450 долларов"
# вернуться в родительское меню
перерыв
;;
Dell)
echo "В данный момент принтер Dell недоступен"
# вернуться в родительское меню
перерыв 2
;;
esac
Выполнено
перерыв
;;
Монитор)
echo «Купите наш новый монитор Samsung по низкой цене»
break # вернуться в текущее (главное) меню
;;
HDD)
echo "В наличии есть HDD хорошего качества"
# возврат из скрипта
перерыв 2
esac
Выполнено
Выполнено

Выход:

Запускаем скрипт.

$ bash select3.ш

После запуска скрипта отображается родительское меню с 4 пунктами. Здесь только второй пункт родительского меню содержит подменю. После выбора 2 появилось подменю, и когда пользователь выбрал 3, он отобразил соответствующее сообщение пункта меню 3 и вернулся к родительскому меню.

Пример-4: Создание меню bash с массивом

Переменная массива может хранить несколько данных. Итак, вы можете использовать массив в качестве списка данных для создания базового меню. В этом примере показано, как можно использовать массив с оператором select для создания меню. Создайте файл bash с именем select4.ш со следующим сценарием bash. В этом скрипте используется подпрограмма Bash для создания меню из массива. Используется массив из трех элементов и menu_from_array () вызывается для создания меню. Скрипт проверит, находится ли номер выбранного пункта меню от 1 до 3. Если число находится за пределами этого диапазона, он проинструктирует пользователя выбрать его в этом диапазоне, он напечатает пункт меню выбора с другим текстом.

menu_from_array ()

выбрать предмет; делать
# Проверить номер выбранного пункта меню
if [1 -le "$ REPLY"] && ["$ REPLY" -le $ #];
тогда
echo "Выбранная операционная система - $ item"
перерыв;
еще
echo "Неправильный выбор: выберите любое число от 1 до $ #"
фи
Выполнено

# Объявить массив
linux = ('Ubuntu' Linux Mint 'CentOS')
# Вызвать подпрограмму для создания меню
menu_from_array "$ linux [@]"

Выход:

Запускаем скрипт.

$ bash select4.ш

Здесь сначала выбирается 2, что находится в пределах диапазона, и печатается текст. 6 выбирается во второй раз за пределами диапазона и предлагает пользователю выбрать число в диапазоне.

Заключение

Задача создания меню Bash с помощью оператора select объясняется в этом руководстве как можно проще. Надеюсь, что программист, который хочет поработать с меню bash и изучить оператор выбора bash, получит помощь из этого руководства. Спасибо.

Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...
Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...
Как показать наложение OSD в полноэкранных приложениях и играх Linux
Игра в полноэкранные игры или использование приложений в полноэкранном режиме без отвлекающих факторов может отрезать вас от соответствующей системной...