Průvodce pro začátečníky k BASH - část 1 - Hello World

Na internetu je spousta průvodců, které ukazují, jak vytvářet Shell skripty pomocí BASH a tato příručka má za cíl poskytnout poněkud odlišné točení, protože je napsáno někým, kdo má velmi malé zkušenosti s skriptováním shellů.

Nyní byste si možná mysleli, že je to hloupá myšlenka, ale zjistím, že s vámi někteří průvodci mluví, jako byste už byli odborníkem a jiní průvodci trvají příliš dlouho na to, aby se přestěhovali do pronásledování.

Zatímco moje zkušenost s skriptováním skriptů LINUX / UNIX je omezená, jsem vývojářem softwaru v obchodě a jsem rukama v skriptovacích jazycích, jako jsou PERL, PHP a VBScript.

Hlavním bodem této příručky je to, že se učíte, jak se dozvím, a jakékoliv informace, které vyzdvihneme, vám předám.

Začínáme

Existuje samozřejmě řada teorií, které vám mohu okamžitě předat, jako například popis různých typů skořápky a výhody použití BASH na KSH a CSH.

Většina lidí, když se učí něco nového, chtějí poprvé vstoupit a začít s některými praktickými lekcemi a s tím na paměti, že vás nebudeme nudit s triviálkami, které v tuto chvíli nejsou důležité.

Vše, co potřebujete pro tento průvodce, je textový editor a terminál se systémem BASH (výchozí shell na většině distribucí Linuxu).

Textové editory

Další příručky, které jsem četl, naznačují, že potřebujete textový editor, který obsahuje barevné kódování příkazů a doporučené editory jsou buď VIM nebo EMACS .

Barevné kódování je hezké, protože při psaní je upozorňuje na povely, ale pro absolutního začátečníka byste mohli strávit několik týdnů učení VIM a EMACS bez psaní jediného řádku kódu.

Ze dvou preferuji EMACS, ale abych byl upřímný, dávám přednost použití jednoduchého editoru, jako je nano , gedit nebo leafpad.

Pokud píšete skripty na svém počítači a víte, že budete mít vždy přístup k grafickému prostředí, můžete vybrat editor, který nejlépe funguje pro vás a může to být buď grafický, jako je GEdit, nebo editor, který běží přímo v terminálu například nano nebo vim.

Pro účely této příručky budu používat nano, jelikož je na většině distribucí systému Linux nainstalován natolik, a proto je pravděpodobné, že k ní budete mít přístup.

Otevření okna terminálu

Pokud používáte distribuci Linux s grafickým desktopem, jako je Linux Mint nebo Ubuntu, můžete otevřít okno terminálu stisknutím kláves CTRL + ALT + T.

Kde dát skripty

Pro účely tohoto výukového programu můžete skripty umístit do složky pod domovskou složkou.

V okně terminálu ujistěte se, že jste ve své domovské složce zadáním následujícího příkazu:

cd ~

Příkaz cd znamená změnu adresáře a tilde (~) je zkratka pro domovskou složku.

Můžete zkontrolovat, zda jste na správném místě zadáním následujícího příkazu:

pwd

Příkaz pwd vám sdělí váš současný pracovní adresář (kde jste ve stromu adresářů). V mém případě se vrátil / home / gary.

Nyní samozřejmě nebudete chtít své skripty vkládat přímo do domovské složky, a tak vytvořit složku nazvanou skripty zadáním následujícího příkazu.

mkdir skripty

Změňte do nové složky skriptů zadáním následujícího příkazu:

cd skripty

Váš první skript

Je obvyklé, když se učíte, jak naprogramovat, aby se první program jednoduše zobrazoval slovy "Hello World".

Ze složky skriptů zadejte následující příkaz:

nano helloworld.sh

Nyní zadejte následující kód do nano okna.

#! / bin / bash echo "ahoj svět"

Stisknutím kláves CTRL + O soubor uložíte a CTRL + X ukončíte nano.

Samotný skript se skládá takto:

#! / Bin / bash musí být zahrnut v horní části všech skriptů, které píšete, protože umožňuje interpretům a operačnímu systému vědět, jak s nimi pracovat. V podstatě si jen zapamatujte a zapomeňte na to, proč to děláte.

Druhý řádek má jediný příkaz nazvaný echo, který vyvede text, který se bezprostředně sleduje.

Všimněte si, že pokud chcete zobrazit více než jedno slovo, je třeba použít dvojité uvozovky (") kolem slov.

Nyní můžete spustit skript zadáním následujícího příkazu:

sh helloworld.sh

Měly by se objevit slova "ahoj svět".

Další způsob spouštění skriptů je následující:

./helloworld.sh

Je pravděpodobné, že pokud spustíte příkaz přímo ve vašem terminálu, dostanete chybu oprávnění.

Chcete-li udělit oprávnění ke spuštění skriptu tímto způsobem, zadejte následující:

sudo chmod + x helloworld.sh

Tak co se vlastně stalo? Proč jste mohli spustit sh helloworld.sh bez změny oprávnění, ale spustit ./helloworld.sh způsobil problém?

První metoda načte bash interpret, který vezme helloworld.sh jako vstup a vyřeší, co s ním dělat. Tlumočník bash již má oprávnění ke spuštění a stačí spustit příkazy ve skriptu.

Druhá metoda umožňuje operačnímu systému zpracovat, co dělat se skriptem, a proto vyžaduje spustitelný bit pro jeho spuštění.

Výše uvedený skript byl v pořádku, ale co se stane, pokud chcete zobrazit uvozovky?

Existují různé způsoby, jak to dosáhnout. Můžete například zadat zpětné lomítko před uvozovkami následujícím způsobem:

echo \ "hello world \"

Výsledkem bude "hello world".

Počkejte chvíli, co když chcete zobrazit \ "hello world \"?

Také můžete uniknout únikovým postavám také

echo \\ "\" hello world \\ "\"

Výsledkem bude výstup "hello world".

Teď už vím, o čem myslíš. Ale opravdu chci zobrazit \\ "\" hello world \\ "\"

Použití ozvěny se všemi těmito escapemi může být dost hloupé. Existuje alternativní příkaz, který můžete použít jako printf.

Například:

printf '% s \ n "" \\ "\" hello world \\ "\"

Všimněte si, že text, který chceme zobrazit, je mezi jednoduchými uvozovkami. Příkaz printf vygeneruje text ze skriptu. Hodnota% s znamená, že se zobrazí řetězec, \ n vytvoří nový řádek.

souhrn

V první části jsme moc nezaostřili, ale doufejme, že máte svůj první skript.

V další části se budeme zabývat zlepšením světového skriptu hello pro zobrazení textu v různých barvách, přijímání a zpracování vstupních parametrů, proměnných a komentování vašeho kódu.