Водич за почетнике

Водич за скриптање басха за почетнике

Водич за скриптање басха за почетнике

Ако започињете са Линук системима, појмови попут „Схелл скриптирање“ или „Басх скрипт”Може бити сасвим уобичајено - Али шта они значе? Пре него што улазимо у детаље, учење Басх скриптирања може вам помоћи да уштедите време у извршавању и извршавању различитих системских задатака и боље разумете Линук командну линију (Терминал) и аутоматизујете више системских задатака.

Шта је Басх?

Басх, скраћеница за „Боурне-Агаин-Схелл“, је Уник љуска или тумач за наредбени језик за ГНУ оперативни систем. Била је главна љуска за Линук дистрибуције и Аппле мацОС издања пре мацОС Цаталине. Басх је такође доступан за Виндовс 10 путем Виндовс подсистема за Линук.

Басх се обично изводи у текстуалном прозору који је познат као Терминал, где корисници уносе команде за извршавање различитих задатака. Басх такође може извршавати наредбе написане у датотеци, методом који се назива „Басх скриптирање.”

Разлика између Басх скриптирања и Схелл скриптирања

Схелл скриптирање и Басх скриптирање нису исте ствари. Са Басх скриптирањем експлицитно користите басх љуску. С друге стране, Схелл скриптирање може бити прилично широка реч, јер имамо и друге љуске осим Басх-а. Неки од најчешћих укључују Корн (ксх), Ц љуску (цсх), З љуску (зсх) и Басх љуску (сх). Међутим, не би било изненађење да људи који користе басх скрипте и љуске скрипте наизменично означавају исто. Наш пост на Топ 6 шкољки отвореног кода за Линук даје детаљан опис ових љуски.

У овом посту ћемо размотрити скрипте за Басх. Подразумевано, многе доступне Линук дистрибуције користе Басх љуску. Погледајте нашу објаву о 6 најбољих Линук дистрибуција за почетнике. Да бисте потврдили љуску коју користите на вашој тренутној Линук дистрибуцији, извршите команду на терминалу.

ецхо $ СХЕЛЛ

шкољка

Са горње слике видите да је подразумевани тумач у мом систему басх. Тренутно користим Убунту 20.04 ЛТС. Уронимо!

Разумевање басхових скрипти

Басх скрипте су текстуалне датотеке које садрже басх наредбе које се извршавају за извршавање различитих задатака. Да бисте написали ове скрипте, потребан вам је само једноставан уређивач текста као што су гедит, прекривач, вим, нано и још много тога. Молимо вас да не заборавите да сачувате своје скрипте помоћу .сх продужетак и као обичан текст а не богати текст. Један од мојих омиљених уредника које користим за писање скрипти је нано едитор.

Именовање, додељивање дозвола и извршавање Басх скрипте

Као што је горе објашњено, обавезно користите .сх екстензија за ваше басх скрипте. На пример, можете имати скрипту са именом фосслинук_бацкуп.сх. Међутим, било би најбоље да опрезно именујете своје скрипте. На пример, већина људи воли да сачува већину својих скрипти као „тест“.”Већини непозната, постоји Уник уграђена команда која се зове тест, која проверава типове датотека и упоређује вредности. Помоћу наредбе коју можете да проверите да ли постоји програм са истим именом као и ваша скрипта да бисте спречили било какав сукоб програма.

која [команда] д.г који тест

Коју команду

Из горњег резултата видимо да је тест већ уграђена команда. Стога, да бих избегао сукобе између програма, нећу ниједну од својих скрипти именовати као "тест.”

Да бисте скрипту учинили извршном за сваког корисника, користите наредбу испод:

цхмод + к [скрипта.сх]

Да бисте скрипту учинили извршном за тренутног корисника, користите наредбу испод:

цхмод у + к [скрипта.сх]

Сада да бисте покренули скрипту, извршите наредбу испод:

./ [име_крипте]

Помоћу горе наведене методе схватићете да ћете морати да користите цд наредба за прелазак у директоријум који садржи скрипту или просљеђивање путање до скрипте. Међутим, постоји заобилазно решење за ово. Сачувајте своје скрипте у канта за смеће директоријум који се налази у матичном директоријуму.

Са најновијим исправкама, већина дистрибуција не долази са канта за смеће директоријум подразумевано. Стога ћете морати да га креирате ручно. Постављањем скрипти у ову фасциклу можете извршити скрипту тако што ћете на терминалу откуцати њено име без употребе цд и ./ команде.

Смернице за скриптирање басха

Пре него што напишете прву скрипту, постоје неке смернице које морате да разумете када пишете скрипте.

Тхе #!/ бин / басх Изјава (Хасх-Банг Хацк) је пут до љуске коју ћемо користити. Ако користите другу љуску, тада ћете морати да уредите ову путању. Разумемо да сви коментари почињу са # симбол. Међутим, када је праћено с (!) у Хасх-Банг Хацк-у, скрипта је приморана да се изврши помоћу љуске на коју указује овај ред. У нашем случају, то је Басх шкољка.

Ваша прва Басх скрипта

Као и већина програмских језика, написаћемо скрипту која исписује "Здраво Свете" изјава приликом извршења. Отворите свој омиљени уређивач текста и налепите наредбе испод. Сачувајте текстуалну датотеку као фоссХеллоВорлд.сх или било које друго име које није уграђена команда.

#!/ бин / басх # Ова скрипта ће исписати 'Хелло Ворлд' на терминалу ецхо "Хелло Ворлд"

Након што сачувате датотеку, учините је извршном извршавањем наредбе у наставку:

цхмод + к фоссХеллоВорлд.сх

Сада га покрените наредбом испод:

./ фоссХеллоВорлд.сх

Прва скрипта

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

Погледајмо друге басх скрипт функције које можете користити.

Ецхо цомманд

Команда Ецхо користи се за испис излаза на Линук командној линији или терминалу. Ако сте програмер и раније сте радили са ПХП-ом, сигурно сте наишли и на ову команду. Напишимо малу басх скрипту да покажемо како ова наредба ради.

#!/ бин / басх # Одштампајмо одјек првог реда "Ово је Фосслинук.цом - Са новом линијом "# Штампајмо другу изјаву без нове линије ецхо -н" Ово је Фосслинук - Нема нове линије "

Сачувајте скрипту, доделите потребне дозволе и извршите је.

Басх Ецхо

Да би се разумео код, прва команда ецхо исписује изјаву и прелази у следећи ред. Друга команда ехо има аргумент који спречава скрипту да пређе у следећи ред. Можете користити многе друге опције са командом Ецхо, укључујући променљиве, као што ћемо видети доле.

Променљиве

Променљиве су уобичајени и неопходни део сваког програмског језика. Басх променљиве могу се декларисати на неколико начина. Када додељујете вредност било којој променљивој, не требате користити никакве симболе. Међутим, приликом позивања вредности променљиве мораћете да користите $ знак на почетку променљиве.

Можете користити променљиве на терминалу или као скрипте. Извршите наредбе доле на вашем терминалу.

миВебсите = "Фосслинук.цом "ецхо $ миВебсите

Коришћење променљивих на терминалу

Сада креирајмо басх скрипту која узима два улаза од корисника и складишти их у променљиве $ к и $ и. Затим ће скрипта проверити да ли су две вредности једнаке или не.

#!/ бин / басх ецхо "Унесите први број" прочитајте ехо "Унесите други број" прочитајте б ако [[$ а -ек $ б]] онда ецхо "Бројеви су једнаки" елсе ецхо "Бројеви нису једнаки" фи

Сачувајте скрипту и покрените је. Са доње слике видите да смо унели различите вредности, а скрипта је могла да провери да ли су једнаке или не.

Басх променљиве

Сада, хајде да ближе погледамо код. Прва два одјека од корисника траже да унесете први и други број. Тхе читати наредба ће сачекати да корисник унесе број и сачувати га у наведеној променљивој. У нашем случају, то је а и б. Затим имамо израз иф који проверава да ли су две вредности једнаке или не.

Условна изјава

У било ком програмском језику, условни изрази контролишу ток програма. Комад кода извршиће се само када је испуњен одређени услов. Неке од најчешћих условних изјава укључују „ако-онда-друго“ и „случај“.”Испод је основна синтакса наредбе иф-тхен-елсе.

ако [[услов]] онда  иначе  фи

Погледајте скрипту испод, која користи условну изјаву „ако-онда-друго“.

#!/ бин / басх ецхо "Ентер Иоур Аге" прочитајте старост ако ((старост> 18)) затим ецхо "Можете ићи на забаву" елсе ецхо "Не испуњавате услове за одлазак на забаву" фи

Условне изјаве о басху

Прођимо кроз горе наведени скрипт. Ми имамо одјек изјава која тражи од корисника да унесу свој старосни број. Тхе читати изјава чува старост унету у променљиву „старост.”Затим имамо условну изјаву ако-тада-која проверава да ли је старост већа од 18 година пре него што упутимо корисника.

Лоопс

Лоопс се обично користе када желите да извршите део кода више пута. На пример, ако бих желео да поновим 1000 редова изјаве „Добродошли у Фосслинук“, било би ми потребно 1000 изјава одјека. Међутим, са петљама, све што треба да урадим је да одредим колико пута желим да се изјава одзвања или штампа на терминалу. Басх подржава три врсте петљи; За петљу, Док петљу и До петље. Погледајмо сваку од њих.

Петља Фор користи се за итирање кроз листу одређених података или низа. Испод је основна синтакса Басх Фор Лооп;

за вредност у 1 2 3 4 5… Н не радим упутства1 упутства2 упутства-Н извршено

или,

за ВРЕДНОСТ у датотеци1 датотека2 датотека3 уради инструкција1 на $ ВАЛУЕ инструкција2 инструкција-Н готова

Погледајте скрипту испод. Прелистава дате дане у недељи и исписује их на терминалу ред по ред.

# Прочитајте име радног дана у свакој итерацији петље за дан у понедељак уторак среда четвртак петак субота недеља одзвања „$ даи“ готово

Сачувајмо скрипту као ФорЛооп.сх и изврши га. Испод је снимак екрана резултата.

Фор Лооп

То је само једноставан пример онога што можете учинити са Фор Лооп. Такође га можете комбиновати са условним исказима да бисте довршили одређени задатак.

Док петља извршава одређени задатак док одређени услов остаје Тачно. У свакој итерацији, петља ће прво проверити стање пре извршавања упутстава. Када је услов Нетачно, петља ће се прекинути. Основна синтакса петље басх Вхиле је следећа:

док [УСЛОВ] раде [ЗАПОВЕДИ] готово

На пример, можемо имати скрипту која ће исписати изјаву „Добродошли у ФОССЛИНУКС.ЦОМ ” 20 пута док променљива Кс не буде постављена на 20. Покушајмо и практично то применимо. Погледајте скрипту испод.

#!/ бин / басх к = 1 док [$ к -ле 20] ецхо "Добродошли у ФОССЛИНУКС.ЦОМ "к = $ (($ к + 1)) завршено

Сачувајмо скрипту као ВхилеЛооп.сх и изврши га. Испод је снимак екрана резултата.

Док петља

Погледајмо горњу скрипту Вхиле Лооп. Прво декларишемо променљиву Кс дајући јој вредност 1. Затим креирамо изјаву Вхиле која избацује изјаву „Добродошли у ФОССЛИНУКС.ЦОМ ”док је Кс мање од 20. На крају, повећавамо Кс за један након сваке итерације.

Петље Басх Унтил користе се за извршавање низа инструкција или наредби све док постављени услов процијени на нетачно. Испод је основна синтакса До Лооп.

док [ЦОНДИТИОН] не ураде [ИНСТАРУЦТИОНС / ЦОММАНДС]

Слично као и петља Вхиле, и лооп лооп прво процењује постављени услов пре извршавања упутстава или наредби. Ако се стање процени на нетачно, извршавају се упутства. Петља се прекида када се услов процијени на тачно. Погледајте пример испод.

#!/ бин / басх цоунт = 0 док [$ цоунт -гт 5] не изврши ецхо Цоунтер: $ цоунт ((цоунт ++)) доне

Након што спремимо и покренимо скрипту изнад, добићемо излаз испод:

До петље

Горње скрипте прво креирају број променљивих и постављају га на нулу (0). То је услов који контролише ток нашег програма. До Лооп провјерава је ли вриједност бројања већа од 5. Ако није, исписаће прослеђена упутства. Међутим, ако је вредност већа од 5, петља ће се одмах прекинути. На крају, повећавамо вредност бројања за 1 (цоунт ++).

Басх функције

У програмирању и скриптирању, функције се користе за држање комада кода за вишекратну употребу који је потребан за извршавање одређеног задатка. Стога, ако имате сличне наредбе које желите да извршите на различитим деловима ваше скрипте, не морате више пута писати ове наредбе. Затворите их у функцију и уместо тога извршите функцију.
Испод је основна синтакса функције Басх.

фунцтион_наме ()    

или,

фунцтион фунцтион_наме    

Направимо једноставну скрипту која користи функције. Прво креирамо функцију названу „миФунцтион“, која при позиву избацује изјаву „Здраво, ја сам прва функција“. Друга функција, „миЦитиес“, мало је напредна јер узима прослеђене аргументе. Аргументи се дају након позивања имена функције. Они су у функцији доступни као $ 1.

#!/ бин / басх миФунцтион () ецхо "Здраво, ја сам прва функција" ецхо "Здраво, ја сам прва функција" ецхо ецхо "Ово је друга функција", функција миЦитиес () ецхо Хелло $ 1 миФунцтион миЦитиес Васхингтон, Д.Ц миЦитиес Пхоеник

Након спремања и извршавања скрипте, добићемо излаз испод.

Функције

Басх менији

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

Ствара једноставну скрипту менија која ће подстаћи кориснике да одаберу своје омиљене Линук дистрибуције са листе. Погледајте скрипту испод.

#!/ бин / басх # Испис поруке за ехо корисника "Изаберите своју омиљену дистрибуцију Линука" изаберите дистрибуцију у Убунту Федора ОпенСУСЕ ДеепИН Паррот АрцхЛинук Кали до # Штампајте изабрану вредност ако [[$ дистро == "Екит"]], а затим изађите из 0 елсе ецхо "Изабрана дистрибуција Линукса је $ дистро" фи

Сачувајмо скрипту као мени.сх и изврши га. Добијамо излаз испод.

Басх менији

У горе наведеном скрипту имамо листу од седам дистрибуција Линука од корисника који ће је одабрати. Након што изврше избор, он се чува у променљивој дистро а касније штампан спајањем са низом „Одабрана Линук дистрибуција је.” Менији за одабир басха могу бити врло корисни, посебно када имате више скрипти које изводе различите задатке, а мора се изабрати онај који желе да изврше.

Аритметика

Сваки програмски језик подржава извођење аритметичких операција, а басх скрипти нису изузетак. Међутим, начин на који вршимо аритметичке операције је мало другачији. Испод је један од начина на који можете извршити аритметичке операције у басху. Размотрићемо четири врсте аритметичких операција - Збир, дељење и множење.

#!/ бин / басх # Израчунај зброј резултата = $ ((70 + 15)) # Одштампај вредност суме ецхо "сум = $ ресулт" # Израчунај резултат дељења = $ ((100/25)) # Одштампај вредност дељења ецхо "подела = $ резултат "#Израчунај резултат множења = $ ((15 * 15)) ецхо" Множење = $ резултат "

Сачувајмо горњу скрипту као аритметичку.сх и изврши га. Добијамо излаз испод.

Аритметика

Закључак

То је комплетан водич за почетнике за почетак кориштења Басх скриптирања. Међутим, Басх има више осим онога што је описано у овом водичу. Једно од места које бих препоручио за унапређивање ваших вештина је ГНУ-ов Референтни приручник за басхе. Ако имате било каквих проблема или коментаришете овај пост, слободно притисните коментаре у наставку.

Како инсталирати и играти Доом на Линук-у
Увод у Доом Доом серија настала је 90-их година након објављивања оригиналног Доом-а. То је био тренутни хит и од тог времена надаље серија игара је д...
Вулкан за кориснике Линука
Са сваком новом генерацијом графичких картица видимо да програмери игара помичу границе графичке верности и долазе на корак од фотореализма. Али упрко...
ОпенТТД вс Симутранс
Стварање сопствене симулације превоза може бити забавно, опуштајуће и изузетно примамљиво. Због тога морате да испробате што више игара како бисте про...