Průvodce pro začátečníky

Výukový program pro skriptování Bash pro začátečníky

Výukový program pro skriptování Bash pro začátečníky

Pokud začínáte se systémy Linux, pojmy jako „Shell scripting“ nebo "Bash skriptování."„Může to být docela běžné - ale co tím myslí? Než se dostaneme do podrobností, naučíme se skriptování Bash, které vám pomůže ušetřit čas při provádění a provádění různých systémových úkolů a lépe porozumět příkazovému řádku (terminálu) Linuxu a automatizovat více systémových úkolů.

Co je Bash?

Bash, zkratka pro "Bourne-Again-Shell," je unixový shell nebo tlumočník příkazového jazyka pro operační systém GNU. Byl to hlavní Shell pro distribuce Linuxu a vydání Apple macOS před macOS Catalina. Bash je také k dispozici pro Windows 10 prostřednictvím subsystému Windows pro Linux.

Bash obvykle běží v textovém okně běžně známém jako Terminál, kde uživatelé zadávají příkazy k provádění různých úkolů. Bash může také provádět příkazy napsané v souboru, což je metoda označovaná jako "Bash skriptování.".“

Rozdíl mezi skriptováním Bash a skriptováním Shell

Shell skriptování a Bash skriptování nejsou totéž. Se skriptováním Bash výslovně používáte prostředí bash. Na druhou stranu, skriptování Shell může být docela široké slovo, protože máme k dispozici i jiné skořápky než Bash. Mezi nejběžnější patří Korn (ksh), C shell (csh), Z shell (zsh) a Bash shell (sh). Nebylo by však překvapením najít lidi, kteří používají skriptování bash a shell skriptování, což znamená totéž. Náš příspěvek k Top 6 Open Source Shells pro Linux poskytuje podrobný popis těchto shellů.

V tomto příspěvku se podíváme na skriptování Bash. Ve výchozím nastavení využívá mnoho dostupných linuxových distribucí prostředí Bash. Podívejte se na náš příspěvek o 6 nejlepších linuxových distribucích pro začátečníky. Chcete-li potvrdit prostředí, které používáte ve své současné distribuci Linuxu, proveďte příkaz na terminálu.

ozvěna $ SHELL

skořápka

Z výše uvedeného obrázku můžete vidět, že výchozím tlumočníkem v mém systému je bash. V současné době používám Ubuntu 20.04 LTS. Pojďme se ponořit!

Porozumění skriptům Bash

Bash skripty jsou textové soubory obsahující bash příkazy, které jsou prováděny k provádění různých úkolů. K psaní těchto skriptů potřebujete pouze jednoduchý textový editor, jako je gedit, listový pad, vim, nano a mnoho dalšího. Nezapomeňte své skripty uložit pomocí .sh rozšíření a jako prostý text, nikoli jako formátovaný text. Jedním z mých oblíbených editorů, které používám pro psaní skriptů, je nano editor.

Pojmenování, přiřazení oprávnění a spuštění skriptu Bash

Jak je vysvětleno výše, ujistěte se, že používáte .sh rozšíření pro vaše bash skripty. Můžete mít například skript se jménem fosslinux_backup.sh. Bylo by však nejlepší, kdybyste byli opatrní při pojmenovávání svých skriptů. Většina lidí například ráda ukládá většinu svých skriptů jako „test.„Pro většinu lidí je neznámý vestavěný příkaz Unix s názvem test, který kontroluje typy souborů a porovnává hodnoty. Pomocí příkazu which můžete zkontrolovat, zda existuje program se stejným názvem jako skript, abyste předešli jakýmkoli konfliktům programu.

který [příkaz] e.g který test

Který příkaz

Z výše uvedeného výstupu vidíme, že test je již vestavěným příkazem. Proto, abych se vyhnul konfliktům mezi programy, nebudu pojmenovávat žádné ze svých skriptů jako "test.“

Chcete-li, aby byl skript spustitelný pro každého uživatele, použijte následující příkaz:

chmod + x [skript.sh]

Chcete-li, aby byl skript spustitelný pro aktuálního uživatele, použijte následující příkaz:

chmod u + x [skript.sh]

Chcete-li nyní spustit skript, proveďte následující příkaz:

./ [název_skriptu]

S výše uvedenou metodou si uvědomíte, že budete muset použít CD příkaz přesunout do adresáře obsahujícího skript nebo předat cestu ke skriptu. Existuje však řešení tohoto problému. Uložte skripty do zásobník adresář v domovském adresáři.

S nedávnými aktualizacemi většina distribucí nepřichází s zásobník ve výchozím nastavení. Bude proto nutné jej vytvořit ručně. Umístěním skriptů do této složky můžete skript spustit zadáním jeho názvu do terminálu bez použití CD a ./ příkazy.

Pokyny pro skriptování Bash

Než začnete psát svůj první skript, musíte při psaní skriptů pochopit několik pokynů.

The #!/ bin / bash (Hash-Bang Hack) prohlášení je cesta k shellu, který budeme používat. Pokud používáte jiný shell, budete muset tuto cestu upravit. Chápeme, že všechny komentáře začínají na # symbol. Když však následuje a (!) značka v hacku Hash-Bang, je skript nucen provést s shellem, na který ukazuje tento řádek. V našem případě je to Bash shell.

Váš první skript Bash

Jako většina programovacích jazyků napíšeme skript, který vytiskne "Ahoj světe" příkaz při spuštění. Otevřete svůj oblíbený textový editor a vložte níže uvedené příkazy. Uložte textový soubor jako fossHelloWorld.sh nebo jakýkoli jiný název, který není vestavěným příkazem.

#!/ bin / bash #Tento skript vytiskne 'Hello World' na echo terminálu "Hello World"

Jakmile soubor uložíte, proveďte jej pomocí následujícího příkazu:

chmod + x fossHelloWorld.sh

Nyní jej spusťte pomocí níže uvedeného příkazu:

./ fossHelloWorld.sh

První scénář

Skript výše má pouze tři řádky. První je Hash-Bang Hack, o kterém jsme hovořili výše, druhý je komentář a třetí je příkaz, který bude proveden. Poznámka: komentáře se nikdy neprovádějí.

Podívejme se na další funkce skriptování bash, které můžete využít.

Příkaz Echo

Příkaz Echo se používá k tisku výstupu na příkazovém řádku nebo terminálu systému Linux. Pokud jste vývojář a dříve jste s PHP pracovali, musíte se s tímto příkazem setkat také. Pojďme napsat malý bash skript, abychom demonstrovali, jak tento příkaz funguje.

#!/ bin / bash # Vytiskneme první řádek echo „Toto je Fosslinux.com - S novým řádkem "# Vytiskneme druhý příkaz bez nového řádku echo -n" Toto je Fosslinux - Žádný nový řádek "

Uložte skript, přiřaďte požadovaná oprávnění a proveďte jej.

Bash Echo

Abychom porozuměli kódu, první příkaz echo vytiskne příkaz a přejde na další řádek. Druhý příkaz echo má -n argument, který brání skriptu přejít na další řádek. S příkazem Echo můžete použít mnoho dalších možností, včetně proměnných, jak uvidíme níže.

Proměnné

Proměnné jsou běžnou a nezbytnou součástí každého programovacího jazyka. Jeden může deklarovat Bash proměnné několika způsoby. Při přiřazování hodnoty k libovolné proměnné nemusíte používat žádné symboly. Při volání hodnoty proměnné však budete muset použít $ znaménko na začátku proměnné.

Proměnné můžete použít na terminálu nebo jako skripty. Na terminálu proveďte níže uvedené příkazy.

myWebsite = "Fosslinux.com "echo $ myWebsite

Použití proměnných na terminálu

Nyní vytvořme bash skript, který vezme dva vstupy od uživatele a uloží je do proměnných $ x a $ r. Skript poté zkontroluje, zda jsou obě hodnoty stejné nebo ne.

#!/ bin / bash echo "Zadejte první číslo" přečtěte echo "Zadejte druhé číslo" přečtěte b if [[$ a -eq $ b]] pak echo "Čísla jsou stejná" else echo "Čísla nejsou stejná" fi

Uložte skript a spusťte jej. Z obrázku níže vidíte, že jsme zadali různé hodnoty a skript dokázal zkontrolovat, zda jsou stejné nebo ne.

Proměnné typu Bash

Nyní se podívejme na kód blíže. První dva echo příkaz vyzve uživatele k zadání vstupu prvního a druhého čísla. The číst příkaz počká, až uživatel zadá číslo a uloží jej do zadané proměnné. V našem případě je to tak A a b. Pak máme příkaz if, který kontroluje, zda jsou obě hodnoty stejné nebo ne.

Podmíněné prohlášení

V libovolném programovacím jazyce řídí průběh programu podmíněné příkazy. Kus kódu se provede, pouze když je splněna určitá podmínka. Mezi nejběžnější podmíněná tvrzení patří „if-then-else“ a „case.„Níže je uvedena základní syntaxe příkazu if-then-else.

pokud [[podmínka]] pak  jiný  fi

Podívejte se na níže uvedený skript, který využívá podmíněného příkazu „if-then-else“.

#!/ bin / bash echo „Zadejte svůj věk“ přečtěte věk if ((věk> 18)) poté echo „Můžete jít na večírek“ else echo „Nemáte nárok na večírek“ fi

Bash podmíněné příkazy

Pojďme projít skript výše. Máme echo prohlášení, které vyzve uživatele k zadání jejich věkového čísla. The číst příkaz ukládá zadaný věk do proměnné „věk.„Poté máme podmíněný příkaz if-then-else, který před poučením uživatele ověří, zda je věk větší než 18 let.

Smyčky

Smyčky se běžně používají, když chcete spustit kód vícekrát. Například kdybych chtěl ozvěnu 1000 řádků příkazu „Vítejte ve Fosslinuxu“, vyžadoval bych 1000 příkazů ozvěny. U smyček však vše, co musím udělat, je zadat, kolikrát chci, aby byl příkaz ozvěnou nebo vytištěn na terminálu. Bash podporuje tři typy smyček; Pro smyčku, smyčku While a smyčku Until. Podívejme se na každého z nich.

For Loop se používá k iteraci seznamu specifikovaných dat nebo pole. Níže je uvedena základní syntaxe Bash For Loop;

pro hodnotu v 1 2 3 4 5… N proveďte instrukci1 instrukce2 instrukce-N hotové

nebo,

pro HODNOTU v souboru1 soubor2 soubor3 proveďte instrukci1 na $ VALUE instrukce2 instrukce-N hotovo

Podívejte se na níže uvedený skript. Iteruje danými dny v týdnu a tiskne je na Terminál řádek po řádku.

# Přečtěte si název dne v každé iteraci smyčky pro den v pondělí úterý středa čtvrtek pátek sobota neděle echo "$ day" hotovo

Uložme skript jako ForLoop.sh a provést to. Níže je snímek obrazovky výstupu.

Pro smyčku

To je jen jednoduchý příklad toho, co můžete dělat s For Loop. Můžete jej také zkombinovat s podmíněnými příkazy k dokončení konkrétního úkolu.

While Loop provede konkrétní úkol, zatímco konkrétní podmínka zůstane True. V každé iteraci smyčka nejprve zkontroluje stav před provedením pokynů. Pokud je podmínka False, smyčka se ukončí. Základní syntaxe smyčky bash While je následující:

zatímco [PODMÍNKA] provádí [PŘÍKAZY] hotovo

Například můžeme mít skript, který příkaz vytiskne "Vítejte ve FOSSLINUXU.".KOM “ 20krát, dokud není proměnná X nastavena na 20. Zkusme to implementovat prakticky. Podívejte se na níže uvedený skript.

#!/ bin / bash x = 1 while [$ x -le 20] do echo "Vítejte na FOSSLINUX.COM "x = $ (($ x + 1)) hotovo

Uložme skript jako WhileLoop.sh a provést to. Níže je snímek obrazovky výstupu.

Zatímco Loop

Pojďme se podívat na skript While Loop výše. Nejprve deklarujeme proměnnou X, která jí dává hodnotu 1. Poté vytvoříme příkaz While, který vydá prohlášení „Vítejte ve FOSSLINUX.COM ”, zatímco X je menší než 20. Nakonec po každé iteraci zvýšíme X o jednu.

Smyčky Bash Until se používají k provádění sady pokynů nebo příkazů, pokud se podmínka sady vyhodnotí jako false. Níže je uvedena základní syntaxe smyčky Until.

dokud [PODMÍNKA] neprovede [POKYNY / PŘÍKAZY]

Podobně jako smyčka While, smyčka While nejprve vyhodnotí nastavenou podmínku před provedením pokynů nebo příkazů. Pokud je podmínka vyhodnocena jako nepravdivá, jsou provedeny pokyny. Smyčka je ukončena, když je podmínka vyhodnocena jako true. Podívejte se na níže uvedený příklad.

#!/ bin / bash count = 0 do [$ count -gt 5] do echo Counter: $ count ((count ++)) done

Po uložení a spuštění výše uvedeného skriptu získáme výstup níže:

Do smyčky

Skripty výše nejprve vytvoří počet proměnných a nastaví jej na nulu (0). To je podmínka, která řídí tok našeho programu. Dokud smyčka zkontroluje, zda je hodnota počtu větší než 5. Pokud tomu tak není, vytiskne předané pokyny. Pokud je však hodnota větší než 5, smyčka se okamžitě ukončí. Nakonec zvýšíme hodnotu počtu o 1 (počet ++).

Bash funkce

V programování a skriptování se funkce používají k zadržení opakovaně použitelného kódu, který je potřebný k provedení konkrétního úkolu. Proto pokud máte podobné příkazy, které chcete provést v různých částech skriptu, nemusíte tyto příkazy opakovaně psát. Uzavřete je do funkce a místo toho proveďte funkci.
Níže je uvedena základní syntaxe funkce Bash.

název_funkce ()    

nebo,

funkce název_funkce    

Vytvořme jednoduchý skript, který využívá funkcí. Nejprve vytvoříme funkci nazvanou „myFunction“, která při volání vydá příkaz „Hello I am the first function“. Druhá funkce „myCities“ je trochu pokročilá, protože vyžaduje předané argumenty. Argumenty jsou uvedeny po volání názvu funkce. Jsou přístupné ve funkci jako $ 1.

#!/ bin / bash myFunction () echo "Hello I am the first function" echo "Hello I am the first function" echo echo "This is the second function" function myCities () echo Hello $ 1 myFunction myCities Washington, D.C myCities Phoenix

Po uložení a provedení skriptu získáme výstup níže.

Funkce

Bash nabídky

Při psaní skriptu k provedení pokročilého úkolu možná budete muset vybrat jednu možnost z několika možností zobrazených na Terminálu. Abychom toho dosáhli, použijeme bash vybrat příkaz.

Vytvoří jednoduchý skript nabídky, který uživatele vyzve, aby ze seznamu vybrali své oblíbené distribuce Linuxu. Podívejte se na níže uvedený skript.

#!/ bin / bash #Print zpráva pro uživatele echo "Vyberte si svou oblíbenou distribuci Linuxu" vyberte distro v Ubuntu Fedora OpenSUSE DeepIN Parrot ArchLinux Kali do #Print vybranou hodnotu, pokud [[$ distro == "Exit"]] poté ukončete 0 else echo "Vybraná distribuce Linuxu je $ distro" hotovo

Uložme skript jako nabídku.a proveďte to. Získáváme výstup níže.

Bash nabídky

Ve výše uvedeném skriptu máme seznam sedmi distribucí Linuxu, z nichž si uživatel jednu vybere. Jakmile provedou výběr, uloží se do proměnné distro a později vytištěny zřetězením s řetězcem "Vybraná distribuce Linuxu je.".“ Nabídky Bash select mohou být docela užitečné, zvláště když máte více skriptů provádějících různé úkoly a jeden musí vybrat ten, který chtějí spustit.

Aritmetický

Každý programovací jazyk podporuje provádění aritmetických operací a skriptování bash není výjimkou. Jak však provádíme aritmetické operace, je trochu jiné. Níže je uveden jeden ze způsobů, jak můžete provádět aritmetické operace v bash. Podíváme se na čtyři typy aritmetických operací - součet, dělení a násobení.

#!/ bin / bash # Vypočítat výsledek součtu = $ ((70 + 15)) # Tisknout hodnotu součtu echo "součet = $ výsledek" # Vypočítat výsledek dělení = $ ((100/25)) # Tisknout hodnotu dělení echo "dělení = $ result "#Calculate Multiplication result = $ ((15 * 15)) echo" Multiplication = $ result "

Uložíme výše uvedený skript jako aritmetický.a proveďte to. Získáváme výstup níže.

Aritmetický

Závěr

Toto je kompletní průvodce pro začátečníky, jak začít se skriptováním Bash. Pro Bash však existuje více než to, co je popsáno v tomto kurzu. Jedním z míst, která bych doporučil k prohloubení vašich dovedností, je GNU's Bash Reference Manual. Pokud narazíte na nějaké problémy nebo komentujete tento příspěvek, neváhejte se dotknout níže uvedených komentářů.

Hry Zdarma a open source herní motory pro vývoj linuxových her
Zdarma a open source herní motory pro vývoj linuxových her
Tento článek pokryje seznam bezplatných a otevřených herních enginů, které lze použít pro vývoj 2D a 3D her v systému Linux. Existuje mnoho takových h...
Hry Výukový program Shadow of the Tomb Raider pro Linux
Výukový program Shadow of the Tomb Raider pro Linux
Shadow of the Tomb Raider je dvanáctý přírůstek do série Tomb Raider - série akčních adventur vytvořená Eidosem Montrealem. Tato hra byla docela dobře...
Hry Jak zvýšit FPS v Linuxu?
Jak zvýšit FPS v Linuxu?
FPS znamená Snímků za sekundu. Úkolem FPS je měřit snímkovou frekvenci při přehrávání videa nebo herních výkonech. Jednoduše řečeno, počet nepřerušova...