Linux команди

Пример за „getopts“ на Linux

Пример за „getopts“ на Linux
„Getopts“ е много полезна команда в Linux, която е включена най-вече в bash скриптове, за да приема флагове и аргументи като входни данни от потребителя. За да разгледаме допълнително използването на тази команда в Linux Mint 20, ще споделим с вас два различни примера за нейното използване в тази статия.

Примери за „getopts“ в Linux Mint 20:

За по-лесно и по-добро разбиране на командата “getopts” в Linux Mint 20, ние сме проектирали за вас два примерни сценария. Преди да се насочите към тези сценарии, можете да разгледате помощното ръководство на командата „getopts“ в терминала Linux Mint 20, за да можете да получите основната идея за синтаксиса на тази команда. Можете да видите ръководството за помощ на тази команда, като изпълните командата „help“:

$ getopts --помощ

Помощното ръководство на командата “getopts” ще съдържа кратко описание на използването на тази команда заедно със синтаксиса, както е показано на изображението по-долу:

Сега, когато преминахме през ръководството за помощ на командата „getopts“, можем да продължим с нашите примерни сценарии, както следва:

Случай №1: Предаване на флагове на Bash скрипт за неговото изпълнение в Linux Mint 20:

В този пример ще създадем bash скрипт, който ще вземе флаг като вход от потребителя заедно с командата за изпълнение на този bash скрипт. В зависимост от стойността на предоставения флаг ще се покаже съответният изход. Подробното описание на стъпките, включени в този сценарий, е както следва:

Стъпка 1: Писане на скрипт за Bash:

Първо ще напишем bash скрипт в нашата начална директория. Наименувахме този файл като getopts.ш. Съдържанието на този bash скрипт е показано на изображението по-долу. В показания по-долу скрипт на bash имаме цикъл “while”, който се изпълнява с командата “getopts”. Тук тази команда „getopts“ се използва за приемане на флаг като вход от потребителя. Стойността на този флаг може да бъде „r“, „y“ или „g“, представляващи съответно „червения“, „жълтия“ и „зеления“ цвят. Променливата “option” ще се използва за съхраняване на стойността на флага, предоставена от потребителя. След това използвахме оператор „case“ за стойността на предоставения флаг, който ще покаже персонализирано съобщение в зависимост от стойността на флага „option“. И накрая, затворихме блока „case“ с израза „esac“, а блока „do“ с израза „done“.

Стъпка 2: Тестване на скрипта на Bash:

След създаването и запазването на нашия bash скрипт, сега е време да го стартираме. Ще тестваме всички случаи един по един. Първо ще стартираме bash скрипта с флага “-r”, за да видим дали той извежда правилния изход или не по следния начин:

$ bash getopts.ш-р

Персонализираният изход на нашия bash скрипт с флага “-r” е показан на изображението по-долу:

Сега ще стартираме bash скрипта с флага “-y”, за да видим дали той дава правилния изход или не по следния начин:

$ bash getopts.срамежлив

Персонализираният изход на нашия bash скрипт с флага “-y” е показан на изображението по-долу:

Сега ще стартираме скрипта на bash с флага “-g”, за да видим дали той дава правилния изход или не по следния начин:

$ bash getopts.ш-г

Персонализираният изход на нашия bash скрипт с флага “-g” е показан на изображението по-долу:

И накрая, ще стартираме нашия bash скрипт с произволен произволен флаг, т.е.д. флаг, който не е валиден, или флаг, който не е споменат в нашия bash скрипт, казва „-a“ по следния начин:

$ bash getopts.ш-а

Този път е изпълнен случаят по подразбиране на нашия скрипт bash, който показва съобщение за грешка, тъй като използваме невалиден флаг.

Случай №2: Предаване на флагове заедно с аргументи на Bash скрипт за неговото изпълнение в Linux Mint 20:

В този пример ще създадем bash скрипт, който ще вземе флаг и аргумент като вход от потребителя заедно с командата за изпълнение на този скрипт bash. В зависимост от стойността на предоставения флаг и аргумент, ще бъде създаден съответният изход. Подробното описание на стъпките, включени в този сценарий, е както следва:

Стъпка 1: Писане на скрипт за Bash:

Скриптът bash, използван за този случай, е показан на изображението по-долу и е много подобен на този, който създадохме за нашия случай # 1. Единствената разлика е, че този път не разрешаваме множество знамена. Потребителят има право само да въведе флага “-r”. Двоеточието „:“ след флага „r“ в bash скрипта показва, че потребителят също трябва да предостави аргумент заедно с флага. Този аргумент ще се съхранява в променливата по подразбиране “OPTARG”. За показване на стойността на предоставения аргумент с командата “echo”, използвахме символ “$” преди променливата “OPTARG”.

Стъпка 2: Тестване на скрипта на Bash:

След като запазихте този bash скрипт, сега е моментът да го тествате. Отново ще тестваме всички случаи един по един. Първо, ще стартираме bash скрипта с флага “-r” и примерен аргумент “black”, за да видим дали той дава правилния изход или не по следния начин:

$ bash getopts.sh -r черен

Персонализираният изход на нашия bash скрипт с флага “-r” и аргумента “black” е показан на изображението по-долу:

Сега ще тестваме този скрипт с невалиден флаг и валиден аргумент по следния начин:

$ bash getopts.ш-черен

Този път е изпълнен случаят по подразбиране на нашия скрипт bash, който показва съобщение за грешка, тъй като използваме невалиден флаг.

Сега ще стартираме този bash скрипт, докато пропускаме флага и просто предаваме валиден аргумент по следния начин:

$ bash getopts.sh черно

Този път на терминала няма да се изведе изход или с други думи, нашият bash скрипт няма да се изпълни, тъй като сме пропуснали задължителен флаг.

И накрая, ще стартираме този bash скрипт, докато пропускаме аргумента и просто предаваме валидния флаг по следния начин:

$ bash getopts.ш-р

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

Заключение:

Тези два примера са много хубаво изображение на използването на командата “getopts” в bash скрипт в Linux Mint 20. Можете дори да създавате по-сложни сценарии в bash и да ги сдвоявате с командата “getopts”, за да вземете повече от един аргумент и флагове от потребителя като входове.

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