Jak psát Bash skripty pro automatizaci Linuxu

Bash skriptování je užitečná dovednost, kterou se jako uživatel Linuxu můžete naučit. Dokonce i jako začátečník může znalost této dovednosti znamenat rozdíl mezi tím, jak plně využijete svůj stroj a uděláte vše ručně. Proto vás v tomto článku naučíme, jak psát bash skripty pro automatizaci Linuxu a převzít plnou kontrolu nad vaší pracovní plochou. Projdeme si základy skriptování pomocí shellu Bash, základy toho, co tvoří skript, jak je spouštět na vašem systému, co znamenají shebangs a další!

Typy skriptů

Existuje mnoho různých typů skriptů. Hlavně: SH a BASH. Tyto přípony souborů jsou důležité, protože přípona souboru říká interpretovi, jak ji spustit. Pokud je soubor souborem SH, lze jej spustit v libovolném prostředí, nejen v Bash. To znamená, že skript napsaný pro Bash na Linuxu může běžet na Macu, BSD a dalších místech s podobnými shelly.

Skripty používající příponu souboru BASH jsou určeny pouze ke spouštění uvnitř Bash. Stačí říci, že váš skript s příponou bash se nespustí v prostředí Fish na Linuxu ani v žádném jiném podobném dostupném prostředí.

Shebangs

Některé skripty nepoužívají přípony souborů vůbec. Namísto toho používají shebang, aby umožnili interpretovi pochopit, k čemu skript je a jak jej spustit. Při psaní scénáře je šebang VŽDY na prvním místě. Pokud chybí znak shebang, často se skript odmítne spustit, zvláště pokud není použita žádná přípona souboru.

O shebangech se toho dá hodně naučit, ale začátečníci se o ně nemusí bát. Ukázalo se, že jsou užitečné pouze pro pokročilé uživatele Bash, kteří chtějí psát neuvěřitelně složité nástroje Bash. Jako začátečníci musí uživatelé myslet pouze na standardní: #!/bin/bash

Tvorba Bash skriptu

Mnoho začátečníků zaměňuje bash skripty za skutečné programování. Hlavním účelem skriptování v bash je spojovat mnoho příkazů dohromady, efektivně dělat dlouhé složité věci bez nutnosti vypisovat každou maličkost do shellu terminálu. Pokud se snažíte dělat seriózní programování v Bash, zastavte se a zvažte skutečný programovací jazyk používaný v Linuxu, jako je Python.

Chcete-li začít, otevřete terminál a zadejte následující příkaz:

nano myfirstbashscript

Tím se otevře textový editor Nano. Uvnitř nano přidejte symbol Shebang, který tlumočníkovi pomůže určit, co má se skriptem dělat.

#!/bin/bash

Odtud můžeme dělat cokoliv! Například: uživatel Ubuntu může vytvořit jednoduchý skript aktualizace přidáním řádků:

sudo apt update;sudo apt upgrade -y

Případně další příklad: vytvořte souvislý ping skript, který se spustí na pozadí, pokud máte obavy o rychlost sítě.

ping google.com

Přidejte do skriptu libovolný příkaz (příkazy), který chcete! Buďte kreativní!

Po přidání toho, co chcete do skriptu, uložte jej pomocí nano pomocí CTRL + O.

S vytvořeným skriptem je čas aktualizovat oprávnění. V terminálu proveďte:

sudo chmod +x myfirstbashscript

Spouštění skriptů

Chcete-li spustit skript shellu, otevřete terminál a proveďte:

sudo sh script.sh

Chcete-li spustit soubory bash, zkuste:

sudo bash script.bash

Alternativně lze libovolný skript bez ohledu na příponu souboru snadno spustit s ./filename v terminálu.

Všechny tři způsoby spouštění skriptů fungují velmi dobře. Jak již bylo řečeno, použití ./filename je nejhorší způsob, protože skripty se často nespustí, pokud bash skript nemá správná oprávnění. Nastavte oprávnění pomocí:

sudo chmod +x script

Vytvoření binárního skriptu

Chcete-li spustit skript pouhým zadáním názvu souboru do terminálu, musíte jej vytvořit binární. Chcete-li to provést, použijte příkaz chmod, aby byl spustitelný.

sudo chmod +x

Když je skript označen jako spustitelný, je čas skript přesunout tak, aby byl přístupný v cestě uživatele. Proveďte to příkazem MV. Případně použijte místo příkazu move příkaz CP, pokud chcete zachovat zálohu skriptu v jeho původním umístění.

sudo mv /location/of/script /usr/bin/

nebo

sudo cp /location/of/script /usr/bin/

Poté spusťte nově přesunutý skript v terminálu odkudkoli jednoduše zadáním jeho názvu do terminálu. Například: použili jste YouTube-DL k napsání automatického ripovacího skriptu YouTube a umístili jste jej do /usr/bin/ pro snadný přístup.

Chcete-li spustit uvedený skript, postupujte takto:

youtubescript

A je to!

Závěr

Naučit se jazyk bash je užitečný nástroj. Bez něj by se správci systému a termináloví nadšenci ocitli v otroctví terminálu celé hodiny. Místo toho mohou psát bash skripty pro automatizaci Linuxu. Tím, že se naučíte využívat sílu Bash, vypíšete všechny tyto složité operace a rychle je spustíte pomocí skriptu.

Shell je krásný a čím více se o něm dozvíte, tím více se dozvíte o jejich vlastních linuxových systémech, jak je automatizovat a dokonce zlepšit, jak věci interně fungují! Obloha je limit s bash, vše, co chce, je trochu kreativity!