Линук наредбе

Команда за одабир басха

Команда за одабир басха
'Изаберите'наредба је врло корисна басх наредба за креирање басх менија. Различите врсте задатака генерисања менија, креирање листе директора заснованих на менију, креирање менија од садржаја датотеке итд. може се извршити помоћу команде басх селецт. Како можете применити ове типове задатака помоћу команде басх селецт приказани су у овом упутству.

Синтакса:

изаберите в на листи података
урадите
изјава1
Изјава2
Изјава3
Готово

Овде ће се ставка менија креирати из листе података која може бити низ или други извор података. Свака ставка менија се преузима са листе података и складишти у променљивој да би креирала мени. Команда „Селецт“ се може користити са командом „цасе“ и за креирање менија. Овде су приказани различити типови задатака креирања менија на врло једноставним примерима.

Пример-1: Креирање једноставног менија

Направите басх датотеку са именом селецт1.сх са следећим басх скриптом. Ево, 'изабери' наредба ће преузети сваки податак са листе и исписати податке у облику менија. Следећа скрипта садржи имена брендова мобилних телефона и након извршавања скрипте створиће мени мобилних марки и тражити од корисника да одабере било коју марку. Исписаће име изабраног бренда.  Корисник мора да притисне Цтрл + ц да се заврши из скрипте.

#!/ бин / басх
# Овде дефинишите листу менија
изаберите марку у Самсунгу Сони ипхоне симхони Валтон
урадите
ецхо "Одабрали сте бренд $"
Готово

Излаз:

Покрените скрипту.

$ басх селецт1.сх

Следећи излаз ће се појавити након покретања скрипте и одабира ставке менија број 1 и 4.

Пример-2: Изаберите команду са наводом случаја

У овом примеру је приказано како можете створити басх мени са наводом случаја. Направите басх датотеку са именом селецт2.сх са следећим басх скриптом. Након покретања скрипте, корисник ће одабрати било коју ставку менија, а изјава случаја ће се подударати са изабраном вредношћу и вредношћу слова. Овде се за подударање са изабраном ставком менија користе вишеструке вредности слова. Ако се ниједна вредност случаја не подудара са одабраном ставком менија, исписат ће се „Неважећи унос“.

#!/ бин / басх
ецхо "Који оперативни систем волите?"
# Имена оперативног система овде се користе као извор података
изаберите ос у Убунту ЛинукМинт Виндовс8 Виндовс7 ВиндовсКСП
урадите
случај $ ос ин
# Овде су деклариране две вредности слова ради подударања
"Убунту" | "ЛинукМинт")
ецхо "Такође користим $ ос."
;;
# Три вредности случаја су овде проглашене за подударање
"Виндовс8" | "Виндовс10" | "Виндовс хр")
ецхо "Зашто не пробате Линук?"
;;
# Поклапање са неважећим подацима
*)
ецхо "Неисправан унос."
пауза
;;
есац
Готово

Излаз:
Покрените скрипту.

$ басх селецт2.сх

Различити излази ће се појавити за другачији избор. Овде се 1 бира први пут када је Убунту. подудара се са првом почетном величином исписује поруку „Такође користим Убунту“. Следећи пут се бира 4, а ставка менија је Виндовс 7 али са овим именом не постоји вредност случаја. Дакле, овај пут је штампано "Неважећи унос" и завршавају из скрипте.

Пример-3: Креирање угнежђеног басх менија

Када се било који мени креира у менију другог, тада се назива угнежђени мени. Угнијежђени мени може се креирати у бази помоћу две или више наредби за одабир и случај. Направите басх датотеку са именом селецт3.сх са следећим басх скриптом. Овде се за имплементацију угнежђеног менија користе две наредбе селецт и цасе. Надређени мени садржи 4 ставке, а подмени овде садржи 3 ставке.

#!/ бин / басх
док истинито
урадите
# Овде су декларисане ставке родитељског менија
изаберите ставку на ХДД монитору за миш штампача
урадите
# цасе цасе за упоређивање првих ставки у менију
случај $ ставка у
Миш)
ецхо "Који тип монитора волите?"
;;
Штампач)
# Овде су декларисане ставке подменија
изаберите ставку_подставка у Самсунг ХП Делл
урадите
# изјава случаја за ставке сунцевог менија
случај $ суб_итем у
Самсунг)
ецхо "Цена самсунг штампача је 100 УСД"
пауза
;;
ХП)
ецхо "Нови ХП 880 штампач кошта 450 УСД"
# повратак у родитељски мени
пауза
;;
Делл)
ецхо "Ниједан Делл штампач сада није доступан"
# повратак у родитељски мени
бреак 2
;;
есац
Готово
пауза
;;
Монитор)
ецхо "Купите наш нови Самсунг монитор по ниској цени"
бреак # повратак на тренутни (главни) мени
;;
ХДД)
ецхо "ХДД доброг квалитета доступан је на лагеру"
# повратак из скрипте
бреак 2
есац
Готово
Готово

Излаз:

Покрените скрипту.

$ басх селецт3.сх

Након покретања скрипте, приказује се надређени мени са 4 ставке. Овде само друга ставка у родитељском менију садржи подмени. Након избора 2, појавио се подмени и када је корисник изабрао 3, приказала је одговарајућу поруку ставке 3 и вратила се у родитељски мени.

Пример-4: Направите басх мени са низом

Варијабла низа може чувати више података. Дакле, можете да користите низ као листу података за креирање основног менија. У овом примеру је приказано како помоћу низа са наредбом селецт можете креирати мени. Направите басх датотеку са именом селецт4.сх са следећим басх скриптом. Подпрограм Басх се користи у овој скрипти за креирање менија од низа. Користи се низ са три елемента и мену_фром_арраи () позива се да креира мени. Скрипта ће проверити да ли је број одабране ставке у менију између 1-3 или не. Ако број није унутар овог опсега, тада ће упутити корисника да га одабере у том опсегу, исписаће ставку менија за избор са другим текстом.

мену_фром_арраи ()

Одаберите ставку; урадите
# Проверите број изабране ставке менија
иф [1 -ле "$ РЕПЛИ"] && ["$ РЕПЛИ" -ле $ #];
онда
ецхо "Изабрани оперативни систем је $ итем"
пауза;
иначе
ецхо "Погрешан избор: Изаберите било који број од 1 - $ #"
фи
Готово

# Декларишите низ
линук = ('Убунту' 'Линук Минт' 'ЦентОС')
# Позовите потпрограм да бисте креирали мени
мену_ф__раи "$ линук [@]"

Излаз:

Покрените скрипту.

$ басх селецт4.сх

Овде се прво бира 2 која је у домету и одштампа текст. 6 се бира други пут ван домета и предлаже кориснику да одабере број унутар опсега.

Закључак

Задатак креирања Басх менија помоћу наредбе селецт објашњен је у овом упутству што је једноставније могуће. Надам се да ће програмер који је заинтересован да ради на басх менију и научи басх селецт изјаву добити помоћ из овог водича. Хвала вам.

Како се користи ГамеЦонкуерор Цхеат Енгине у Линуку
Чланак покрива водич о коришћењу ГамеЦонкуерор варалице у Линуку. Многи корисници који играју игре на Виндовс-у често користе апликацију „Цхеат Енгине...
Најбољи емулатори играће конзоле за Линук
Овај чланак ће навести популарни софтвер за емулацију играће конзоле доступан за Линук. Емулација је слој компатибилности софтвера који опонаша хардве...
Најбољи Линук Дистрос за игре у 2021
Линук оперативни систем далеко је превалио свој изворни, једноставни изглед заснован на серверима. Овај ОС се изузетно побољшао последњих година и сад...