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í.

  Jak zažádat o Apple Card

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í!

  Proč se na mém iPadu nezobrazuje klávesnice na obrazovce?

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.

  Minimalistický nástroj pro online psaní bez rozptylování

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!