БАСХ (који се односи на Боурне Агаин Схелл) је скриптни језик који користи већина Линук и УНИКС базираних оперативних система.
Можете користити БАСХ наредбе у оквиру прозора терминала један за другим или можете додати команде у текстуалну датотеку да бисте направили схелл скрипту.
Одлична ствар у писању скриптова је да их можете поново покренути. На пример замислите да морате додати корисника систему, поставити њихове дозволе и управљати почетним окружењем. Можете запишати команде на папиру и покренути их док додате нове кориснике или можете написати једну скрипту и само пренијети параметре у тај скрипт.
Скриптни језици као што је БАСХ имају сличне програмске конструкције као и други језици. На пример, можете користити параметре увоза да бисте добили улаз са тастатуре и сачували их као варијабле. Тада можете добити скрипту да изведе одређену акцију засновану на вриједности улазних параметара.
Кључни део било ког програма за програмирање и скриптовање је могућност поновног покретања истог комада кода.
Постоји низ начина понављања кода (познатих и као петље). У овом водичу биће вам приказано како написати "за" петљу.
А за петља понавља одређени део кода изнова и више. Они су корисни тако да се низ команди може наставити да ради до одређеног стања, након чега ће се зауставити.
У овом водичу биће вам приказано пет начина да користите петљу за БАСХ скрипту.
Пре почетка
Пре него што започнете са примјерима петље за петље, потребно је отворити прозор терминала и слиједити ове кораке:
-
Ентер мкдир сцриптс (сазнајте више о мкдир овде).
-
Ентер цд скрипте (ово мења директориј у скрипте ).
-
Ентер нано екамплен.сх (где н је пример на који радите).
-
Унесите скрипту.
-
Притисните ЦТРЛ + О да сачувате и ЦТРЛ + Кс да изађете.
-
Трцати басх екамплен.сх (опет, са н као пример са којим радите).
Како кренути кроз листу
#! / бин / басхфор број у 1 2 3 4 5доецхо $ нумбердонеекит 0
БАСХ начин кориштења "за" петље је нешто другачији од начина на који већина других програмских и скриптних језика управља "за" петље. Разбијмо сценарио. У БАСХ "за" петље све, изјаве између урадити и Готово се изводе једном за сваку ставку на листи. У претходном примеру, листа је све што долази после речи ин (тј. 1 2 3 4 5). Сваки пут када петља понови, следећа вриједност у листи се убацује у варијаблу која је наведена након ријечи "за" . У горњој петљи се позива варијабла број . Ехо изјава се користи за приказ информација на екрану. Дакле, овај пример узима бројеве од 1 до 5 и излази их један по један на екран: Проблем са горе наведеним примјером је то што ако желите да обрадите већу листу (реците 1 до 500), потребно је узастопно убацити све бројеве. Ово нас доводи до другог примера који показује како одредити почетну и крајњу тачку: #! / бин / басхфор број у {1..10} доецхо "$ нумбер" донеекит 0
Правила су у основи иста. Вредности после речи " у " саставља листу за понављање и свака вриједност у листи се ставља у варијаблу (тј. број), и сваки пут када петља понавља, изјаве између урадити и Готово изводе. Главна разлика је начин на који се листа формира. Конусни држачи {} у основи означавају опсег, а опсег у овом случају је од 1 до 10 (две тачке одвајају почетак и крај опсега). Овај примјер, стога, пролази кроз сваки број између 1 и 10 и излази број на екран на сљедећи начин: Иста петља могла је бити написана овако, синтакса идентична првом примеру: за број за 1 2 3 4 5 6 7 8 9 10 Претходни пример показао је како се петље између почетне и крајње тачке, па сада ћемо погледати како прескочити бројеве у опсегу. Замислите да желите петље између 0 и 100, али само приказати сваки десети број. Следећа скрипта приказује како то учинити: #! / бин / басхфор број у {0..100..10} доецхо "$ нумбер" донеекит 0
Правила су у основи иста. Постоји листа, варијабла и сет изјава које треба извршити између урадити и Готово . Листа овог пута изгледа овако: {0..100..10}. Први број је 0, а крајни број је 100. Трећи број (10) је број ставки на листи које ће прескочити. Из наведеног примера, стога се приказује сљедећи излаз: БАСХ начин писања за петље је мало чудан када се упореде са другим програмским језицима. Међутим, можете написати петљу у сличном стилу на програмски језик Ц, овако: #! / бин / басхфор ((број = 1; број <100; број ++)) {иф (($ број% 5 == 0)) тхенецхо "$ број је дељива са 5" фи} излаз 0
Ова петља почиње постављањем променљивог броја на 1 (број = 1 ). Петља ће наставити да понавља док је вредност броја мања од 100 ( број <100 ). Вредност број промене додавањем 1 по свакој итерацији ( број ++ ). Све између завртањ се врши кроз сваку итерацију петље. Мало између оклопа проверава вредност а број , дели се са 5 и упоређује остатак на 0. Ако је остатак 0, онда је број дељив са 5 и затим се приказује на екрану. На пример: Ако желите да промените величину корака у итерацији, можете изменити број одељка број ++ број = број + 2 , број = број + 5 , или број = број + 10 итд. Ово се може додатно смањити број + = 2 или број + = 5 . За петље можете учинити више него што поновите листе бројева. Можете заправо користити излаз других команди као листу. Следећи пример показује како да претворите аудио датотеке са МП3 на ВАВ: #! / бин / басхза датотеку у ./*.мп3домпг -в ./вавс/"${филе}".вав "$ филе" доне
Листа у овом примеру је свака датотека са .МП3 екстензијом у тренутној фасцикли и варијабла је а филе . Тхе мпг команда претвара МП3 датотеку у ВАВ. Међутим, вероватно ћете морати прво инсталирати помоћу свог менаџера пакета.
Како кренути између почетне и крајње тачке
Како прећи бројеве у опсегу
Традиционални тражи петље
Практични пример












