Sprievodca pre začiatočníkov do BASH - Časť 1 - Dobrý deň svet

Existuje veľa sprievodcov na internete, ktoré ukazujú, ako vytvoriť Shell skripty pomocou BASH a táto príručka má za cieľ poskytnúť trochu odlišné točenie, pretože je napísané niekým, kto má veľmi málo skúseností skriptovanie shell.

Teraz si možno myslíte, že je to hlúpe nápad, ale zisťujem, že s vami niektorí sprievodcovia hovoria, ako keby ste už boli odborníkmi a iní sprievodcovia príliš dlho trvajú na prenasledovanie.

Zatiaľ čo skúsenosti s skriptovaním shell LINUX / UNIX sú obmedzené, som vývojárom softvéru v obchode a som tlmiaca ruka v skriptovacích jazykoch, ako sú PERL, PHP a VBScript.

Zmyslom tejto príručky je, že sa naučíte, ako sa dozviem, a akékoľvek informácie, ktoré získam, vám odovzdám.

Začíname

Existuje samozrejme veľa teórií, ktoré by som vám mohol okamžite odovzdať, napríklad opisovať rôzne typy škrupín a výhody používania BASH nad KSH a CSH.

Väčšina ľudí, ktorí sa učia niečo nové, chcú skákať a najprv začať s praktickými ponaučeniami a s tým na mysli nebudem vás nudiť s triviálkami, ktoré momentálne nie sú dôležité.

Všetko, čo potrebujete na sledovanie tejto príručky, je textový editor a terminál s BASH (predvolený shell na väčšine linuxových distribúcií).

Textové editory

Ďalšie vodítka, ktoré som si prečítali, naznačujú, že potrebujete textový editor, ktorý obsahuje farebné kódovanie príkazov a odporúčané editory sú buď VIM alebo EMACS .

Farebné kódovanie je pekné, pretože zvýrazňuje príkazy pri písaní, ale pre absolútneho začiatočníka by ste mohli stráviť prvých pár týždňov učením VIM a EMACS bez písania jedného riadku kódu.

Z dvoch preferujem EMACS, ale aby som bol úprimný, radšej používam jednoduchý editor ako nano , gedit alebo leafpad.

Ak píšete skripty na vlastnom počítači a viete, že budete mať vždy prístup k grafickému prostrediu, potom si môžete vybrať editor, ktorý vám najlepšie vyhovuje a môže to byť buď grafický, ako napríklad GEdit alebo editor, ktorý beží priamo v termináli napríklad nano alebo vim.

Na účely tejto príručky budem používať nano, pretože je nainštalovaný natívne na väčšine linuxových distribúcií, a preto je pravdepodobné, že k nemu budete mať prístup.

Otvorenie okna terminálu

Ak používate distribúciu Linux s grafickou plochou, ako napríklad Linux Mint alebo Ubuntu, môžete otvoriť okno terminálu stlačením CTRL + ALT + T.

Kde umiestniť svoje skripty

Na účely tohto tutoriálu môžete umiestniť svoje skripty do priečinka vo vašom domovskom priečinku.

V rámci terminálového okna uistite sa, že ste vo svojom domovskom priečinku zadaním nasledujúceho príkazu:

cd ~

Príkaz cd znamená zmenu adresára a tilda (~) je skratka pre váš domovský priečinok.

Môžete skontrolovať, či ste na správnom mieste zadaním nasledujúceho príkazu:

pwd

Príkaz pwd vám povie váš súčasný pracovný adresár (kde sa nachádzate v adresári). V mojom prípade sa vrátil / home / gary.

Teraz zrejme nebudete chcieť vložiť svoje skripty priamo do domovského priečinka, takže vytvorte priečinok nazvaný skripty zadaním nasledujúceho príkazu.

mkdir skripty

Prejdite do nového priečinka skriptov zadaním nasledujúceho príkazu:

cd skripty

Váš prvý skript

Je obvyklé, keď sa učím, ako naprogramovať, aby sa prvý program jednoducho dostal do slová "Hello World".

Z priečinka skriptu zadajte nasledujúci príkaz:

nano helloworld.sh

Teraz zadajte nasledujúci kód do nano okna.

#! / bin / bash echo "ahoj svet"

Stlačením klávesov CTRL + O súbor uložíte a CTRL + X ukončíte nano.

Samotný skript sa skladá nasledovne:

#! / Bin / bash musí byť zahrnutá v hornej časti všetkých skriptov, ktoré píšete, pretože umožňuje interpretátorom a operačným systémom vedieť, ako spracovať súbor. V podstate len zapamätaj si to a zabudnite na to, prečo to robíte.

Druhý riadok má jediný príkaz nazvaný echo, ktorý vyvedie text, ktorý ho okamžite nasleduje.

Upozorňujeme, že ak chcete zobraziť viac ako jedno slovo, musíte použiť dvojité úvodzovky (") okolo slov.

Teraz môžete spustiť skript zadaním nasledujúceho príkazu:

sh helloworld.sh

Slová "ahoj svet" by sa mali objaviť.

Ďalší spôsob spustenia skriptov je nasledujúci:

./helloworld.sh

Je pravdepodobné, že ak spustite príkaz priamo vo vašom termináli, dostanete chybu povolení.

Ak chcete udeliť povolenia na spustenie skriptu týmto spôsobom, zadajte nasledovné:

sudo chmod + x helloworld.sh

Čo sa vlastne stalo? Prečo ste mohli spustiť sh helloworld.sh bez toho, aby ste menili povolenia, ale spustili ./helloworld.sh spôsobili problém?

Prvá metóda načíta bash tlmočníka, ktorý preberá helloworld.sh ako vstup a vyvíja, čo má s ním robiť. Bash interpreter už má povolenie na spustenie a stačí spustiť príkazy v skripte.

Druhá metóda umožňuje operačnému systému pracovať s tým, čo má robiť so skriptom, a preto vyžaduje spustiteľný bit na vykonanie.

Vyššie uvedený skript bol v poriadku, ale čo sa stane, ak chcete zobraziť úvodzovky?

Existujú rôzne spôsoby, ako to dosiahnuť. Napríklad môžete pred úvodzovkami nasadiť spätné lomítko takto:

echo \ "hello world \"

Tým sa vytvorí výstup "hello world".

Počkajte chvíľu, čo ak chcete zobraziť \ "hello world \"?

Takže môžete uniknúť únikovým znakom rovnako

echo \\ "\" ahoj svet \\ "\"

Tým sa vytvorí výstup \ "hello world \".

Teraz viem, čo si myslíte. Ale naozaj chcem zobraziť \\ "\" hello world \\ "\"

Použitie echo so všetkými týmito únikovými znakmi môže byť celkom hlúpo. Existuje alternatívny príkaz, ktorý môžete použiť ako printf.

Napríklad:

printf '% s \ n "" \\ "\" ahoj svet \\ "\"'

Upozorňujeme, že text, ktorý chceme zobraziť, sa nachádza medzi jednotlivými úvodzovkami. Príkaz printf zobrazuje text zo skriptu. Hodnota% s znamená, že sa zobrazí reťazec, \ n výstup nového riadku.

zhrnutie

V prvej časti sme skutočne nezahŕňali veľa, ale dúfajme, že máte prvý skript.

V ďalšej časti sa budeme zaoberať skvalitnením svetového skriptu hello na zobrazenie textu v rôznych farbách, prijímanie a spracovanie vstupných parametrov, premenných a komentovanie vášho kódu.