Водич за почетници за BASH - Дел 1 - Hello World

Има многу водичи на интернет што покажуваат како да создадат скрипти на Shell користејќи BASH и овој водич има за цел да даде нешто поинакво вртење бидејќи е напишано од некој кој има многу малку искуство за скриптирање на школка.

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

Додека моето искуство за скриптирање на Линукс / UNIX е ограничено, јас сум развивач на софтвер по пат на трговија и јас сум рака на скрипти јазици како PERL, PHP и VBScript.

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

Да започнеме

Очигледно има многу теорија што би можела да ви ја пренесам веднаш, како што се опишувањето на различните видови школка и предностите на користење на BASH над KSH и CSH.

Повеќето луѓе, кога учат нешто ново, сакаат да скокаат и да започнат со практични часови, а со тоа на ум нема да ве посветат со навики кои во моментов не се важни.

Се што ви треба за следење на овој водич е текстуален уредувач и терминал кој работи BASH (стандардна школка на повеќето Linux дистрибуции).

Уредници на текст

Други водичи што ги прочитав сугерираа дека ви е потребен уредувач на текст кој вклучува кодирање на бои на команди и препорачаните уредници се или VIM или EMACS .

Кодирањето на бои е убаво бидејќи ги нагласува командите додека ги пишувате, но за апсолутен почетник можете да ги поминат првите неколку недели учејќи VIM и EMACS без да пишувате една линија код.

Од двете ми се допаѓа EMACS, но за да бидам искрен претпочитам да користам едноставен уредник, како што се нано , гедит или лиспад.

Ако пишувате скрипти на сопствен компјутер и знаете дека секогаш ќе имате пристап до графички опкружувања тогаш можете да го изберете уредникот кој најдобро функционира за вас и може да биде графички како што е GEdit или уредник кој работи директно во терминалот како нано или VIM.

За целите на ова упатство ќе го користам нано бидејќи е инсталиран природно на мнозинството дистрибуции на Линукс и затоа е веројатно дека ќе имате пристап до него.

Отворање терминален прозорец

Ако користите дистрибуција на Linux со графички десктоп, како што се Linux Mint или Ubuntu, можете да отворите терминален прозорец со притискање на CTRL + ALT + T.

Каде да ги ставаш скриптите

За целите на ова упатство можете да ги ставите скриптите во папка под вашата домашна папка.

Во терминалниот прозорец проверете дали сте во вашата домашна папка со внесување на следнава команда:

cd ~

Командата cd се залага за промена на директориумот, а тилда (~) е кратенка за вашата домашна папка.

Можете да проверите дали сте на правилно место со внесување на следнава команда:

pwd

Командата pwd ќе ви каже вашиот сегашен работен директориум (каде што сте во дрвото на директориуми). Во мојот случај се вратив / дома / Гери.

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

mkdir скрипти

Промени во папката на нови скрипти со внесување на следнава команда:

cd скрипти

Твојата прва сценарио

Вообичаено е кога ќе научите како да програмирате за да ја направите првата програма, едноставно да ги изнесете зборовите "Hello World".

Во рамките на папката на скрипти, внеси ја следнава команда:

nano helloworld.sh

Сега внесете го следниов код во нано прозорецот.

#! / bin / баш ехо "здрав свет"

Притиснете CTRL + O за да ја зачувате датотеката и CTRL + X за да излезете од нано.

Скриптата е составена на следниов начин:

#! / Bin / bash треба да биде вклучен на врвот на сите сценарија што ги пишувате, бидејќи им овозможува на преведувачите и оперативниот систем да знаат како да се справат со датотеката. Во основа само не заборавајте да го стави и заборави зошто го правиш тоа.

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

Забележете дека ако сакате да прикажете повеќе од еден збор, треба да користите двојни цитати (") околу зборовите.

Сега можете да ја извршите скриптата со внесување на следнава команда:

sh helloworld.sh

Треба да се појават зборовите "здравиот свет".

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

./helloworld.sh

Шансите се дека ако веднаш ја извршите таа команда во терминалот, ќе добиете грешка при дозволи.

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

sudo chmod + x helloworld.sh

Значи, што всушност се случило таму? Зошто сте можеле да го извршите sh helloworld.sh без да ги менувате дозволите, но трчањето. /helloworld.sh предизвикало проблем?

Првиот метод го вчитува bash преведувачот кој го зема helloworld.sh како влез и изработува што да прави со него. Баш преведувачот веќе има дозволи да се кандидира и само треба да ги извршува командите во сценариото.

Вториот метод им овозможува на оперативниот систем да работи што да прави со сценариото и затоа бара извршна бита за да се изврши.

Горенаведениот скрипта е во ред, но што се случува ако сакате да ги прикажете наводниците?

Постојат различни начини да се постигне ова. На пример можете да поставите обратна коса црта пред наводниците како што следува:

ехо \ "здраво светот \"

Ова ќе произведе излезен "здрав свет".

Почекајте една минута, што ако сакате да се прикаже "hello world"?

Па можете да избегате и од ликовите за бегство

ехо \\ "\" здраво светот \\ "\"

Ова ќе го произведе излезот "здрав свет".

Сега знам што мислиш. Но, навистина сакам да го прикажам \\ "\" здравиот свет \\ "\"

Користејќи ехо со сите овие бележни знаци може да се добие доста глупо. Постои алтернативна команда што можете да ја користите наречена printf.

На пример:

printf '% s \ n' '\\ "\" здраво светот \\ "\"'

Забележете дека текстот што сакаме да го прикажеме е помеѓу еден цитат. Командата printf издава текст од вашата скрипта. % S значи дека ќе прикаже стринг, \ n ќе излезе со нова линија.

Резиме

Ние, всушност, не ги опфатиме многу темелите во првиот дел, но се надевам дека ќе ја имате вашата прва работа.

Во следниот дел ќе се осврнеме на подобрување на светлосното сценарио за приказ на текст во различни бои, прифаќање и обработка на влезните параметри, променливи и коментирање на вашиот код.