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ší!
Table of Contents
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!