Linux команди

Командване на дело BASH

Командване на дело BASH

Командата Bash case се използва за предприемане на правилни действия чрез сравняване на данни като оператор if. Работи като оператор за превключване на случай на други стандартни езици за програмиране. Тази команда започва с оператор 'case' и се затваря с оператор 'esac'. В командата за случай не се използва израз на прекъсване и се изисква двойна скоба (;;), за да се спомене изразът (ите) за конкретно съвпадение. Тази команда разширява израза и се опитва да съвпадне с дадения шаблон и кодът за изход на състоянието на тази команда ще бъде нула, ако не бъде намерено съвпадение. Някои често срещани примери за изявления за случаи са показани в този урок.

Пример-1: проста декларация за случай

В командата bash case се използва единичен условен израз за генериране на изхода въз основа на условието за съвпадение. Създайте bash файл с име дело1.ш със следния bash скрипт. Скриптът ще вземе стойност на низ и ще съответства на стойността с всеки израз. Следният скрипт ще генерира „Няма намерен запис“, ако не съществува съвпадащ израз,
дело1.ш

#!/ bin / bash
echo "Въведете името си"
прочетете име
случай $ име в
Yesmin)
ехо "Вашият любим цвят е син" ;;
Фахмида)
ехо "Вашата любима напитка е Sprite" ;;
*)
ехо „Няма намерен запис“ ;;
esac

Стартирайте скрипта.

$ bash case1.ш

Изход:

Файлът се изпълнява с валиден и невалиден вход тук за тестване на изхода.

Пример-2: множествен случай с тръба

В bash скрипта могат да бъдат приложени множество изрази на регистър за изпълнение на различни типове изрази. Символът Pipe (|) може да се използва за присвояване на множество изрази. Създайте bash файл с име дело2.ш със следния скрипт. След стартиране на скрипта, ако входната стойност съвпада с който и да е израз, ще се отпечата съответната текстова стойност.
дело2.ш

#!/ bin / bash
echo "Въведете вашия идентификационен номер"
прочетете ID
случай $ ID в
65341)
ехо "Вашата позиция е 1-ва" ;;
97564 | 88453)
ехо "Вашата позиция е 2-ра" ;;
45087)
ехо "Вашата позиция е 3-та" ;;
*)
ехо "Невалиден идентификатор" ;;
esac

Стартирайте скрипта .

$ bash case2.ш

Изход:

Този скрипт също работи като предишния пример. Единствената разлика е, че стойностите на множество изрази се тестват за един изход.

Пример-3: Как да излезете от блока за изявления case / esac

Когато командата bash case се използва под безкраен цикъл, командата за излизане е необходима за прекратяване на цикъла. Този пример показва как могат да бъдат изпълнени тези типове задачи. Създайте текстов файл с име дело3.ш със следния скрипт. Този скрипт ще вземе за вход всяко число от 1 до 3. Ако входът е 1, тогава ще бъдат добавени две числа, ако входът е 2, тогава две числа ще бъдат извадени и ако входното число е 3, тогава две числа ще бъдат умножени. Изходът ще бъде „Невалиден запис“, ако входното число е повече от 3 или по-малко от 1 или е празно.
дело3.ш

#!/ bin / bash
#!/ bin / bash
докато (вярно)
направете
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
ехо "Тип 1 или 2 или 3"
чете анс
дело $ ans in
1) ехо "Сумата от $ a и $ b е $ x & изход" ;;
2) ехо "Изваждането на $ a и $ b е $ y & изход" ;;
3) ехо "Умножението на $ a и $ b е $ z & exit" ;;
*) ехо "Невалиден запис"
esac
Свършен

Стартирайте скрипта.

$ bash case3.ш

Изход:

Скриптът ще продължи да се изпълнява, докато не се натисне ctrl + c.

Пример-4: Проверка на празна стойност на аргумента на командния ред

Аргументната променлива на командния ред може да се използва в оператора на bash case. Създайте файл с име дело4.ш със следния скрипт, който ще провери стойността на втората променлива на аргумента.

#!/ bin / bash
дело "$ 2" в
"Ubuntu")
echo "Вторият аргумент е $ 2."
;;
"CentOS")
echo "Вторият аргумент е $ 2."
;;
"")
echo "Вторият аргумент е празен."
;;
esac

Стартирайте скрипта.

$ bash case4.ш

Изход:

Тук скриптът се изпълнява без никаква стойност на аргумент от втори ред за първи път и изходът показва „Вторият аргумент е празен“. Когато скриптът се изпълни със стойност на аргумент от втори ред за втори път, тогава не се показва изход.

Пример-5: множествен случай, базиран на потребителски вход

Създайте bash файл с име дело5.ш със следния скрипт. Скриптът ще вземе името на месеца като въвеждане от потребителя. Ако името на месеца съвпада с която и да е стойност на случая, тогава в променливата Съобщение ще бъде присвоено конкретно текстово съобщение. Входната стойност трябва да е пълното име на месеца или тримесечното име на месеца.

дело5.ш

#!/ bin / bash
echo "Въведете името на месец"
прочетете месец
дело $ месец в
Януари | януари *)
Съобщение = "21 февруари е нашият Международен ден на майката."
;;
Февруари | февруари *)
Съобщение = "21 февруари е нашият Международен ден на майката."
;;
Март | март *)
Съобщение = "9 март е световният ден на бъбреците."
;;
Април | април *)
Съобщение = "Текущият месец не е февруари"
;;
Май | май *)
Съобщение = "Текущият месец е февруари"
;;
Юни | юни *)
Съобщение = "Текущият месец е февруари"
;;
*)
Съобщение = "Няма намерена съвпадаща информация"
;;
esac
echo $ Съобщение

Стартирайте скрипта.

$ bash case5.ш

Изход:

Следният изход ще се появи за входната стойност „март“ или „март“.

Пример-6: Проверете променливата в оператора на bash case

Всяка низова стойност може да бъде отпечатана чрез проверка на стойността на променливата на аргумента на командния ред. Създайте текстов файл с име дело6.ш със следния скрипт. В този пример се проверява стойността на първата променлива на аргумента и ако стойността е празна, тогава ще се отпечата низ, „Харесва ми програмиране на bash“.

дело6.ш

#!/ bin / bash
кутия $ 1 in
("") echo "Харесва ми баш програмиране";
esac

Стартирайте скрипта.

$ bash case6.ш

Изход:

Този скрипт се изпълнява с и без първи аргументи. Няма да има изход, ако не премине променлива на аргумент от командния ред.

Заключение

В тази статия са показани различни приложения на командата bash case. Ако читателите практикуват тези примери правилно, ще им бъде по-лесно да решат много проблеми с програмирането на bash.

Най-добрите игри за игра с ръчно проследяване
Oculus Quest наскоро представи страхотната идея за ръчно проследяване без контролери. С непрекъснато нарастващия брой игри и дейности, които изпълнява...
Как да покажете OSD наслагване в приложения на цял екран за Linux и игри
Играта на цял екран или използване на приложения в режим на цял екран без разсейване може да ви откъсне от съответната системна информация, видима в п...
Топ 5 карти за залавяне на игри
Всички сме виждали и обичаме поточни игри в YouTube. PewDiePie, Jakesepticye и Markiplier са само някои от най-добрите геймъри, които са спечелили мил...