Úvod do skriptování v Bash
Skriptování v Bash představuje cennou dovednost pro každého uživatele Linuxu. I začátečníci mohou díky této znalosti plně využít potenciál svého systému a ušetřit si manuální práci. V tomto článku vás seznámíme s tvorbou bash skriptů pro automatizaci úloh v Linuxu. Probereme základy skriptování v shellu Bash, strukturu skriptu, způsoby jeho spouštění, význam shebangů a další důležité aspekty.
Druhy skriptů
Setkáváme se s různými typy skriptů, především s příponami .sh
a .bash
. Tyto přípony jsou klíčové, neboť určují, jaký interpret se má použít ke spuštění skriptu. Soubory s příponou .sh
jsou obecně spustitelné v různých prostředích, nejen v Bash. Skript napsaný pro Bash na Linuxu tak může fungovat i na systémech Mac, BSD a dalších, které používají kompatibilní shelly.
Skripty s příponou .bash
jsou naopak primárně určeny pro spouštění výhradně v prostředí Bash. Takový skript nebude funkční například v prostředí Fish, ani v jiných alternativních shellech.
Shebang – co to je?
Některé skripty se obejdou bez přípon souborů a místo toho používají takzvaný shebang, který interpretovi signalizuje typ skriptu a způsob jeho spuštění. Shebang se vždy umisťuje na první řádek skriptu. Pokud shebang chybí, skript se často nespustí, obzvláště pokud nemá žádnou příponu.
O shebangu se dá dozvědět mnoho, ale pro začátečníky to není nezbytné. Nejvíce se využije u pokročilých uživatelů, kteří vytvářejí komplexní bash nástroje. Pro začátečníky postačí znalost standardního shebangu: #!/bin/bash
Jak se tvoří Bash skript
Mnoho začátečníků si plete skriptování v Bash s programováním. Hlavním účelem bash skriptů je seskupovat příkazy dohromady a provádět složité operace bez nutnosti manuálního zadávání každého příkazu do terminálu. Pokud se chystáte vytvářet složitější aplikace v Bash, zvažte raději použití skutečného programovacího jazyka, například Python.
Začněte otevřením terminálu a zadejte příkaz:
nano myfirstbashscript
Tímto otevřete textový editor Nano. Do něj vložte shebang, který interpretovi řekne, jak se má skriptem zacházet:
#!/bin/bash
Od této chvíle můžete přidávat libovolné příkazy. Například, uživatel Ubuntu může vytvořit jednoduchý skript pro aktualizaci systému přidáním těchto řádků:
sudo apt update;sudo apt upgrade -y
Jiný příklad: Vytvořte skript pro nepřetržité pingování, který poběží na pozadí, pokud máte problémy s rychlostí sítě:
ping google.com
Do skriptu můžete přidat libovolné příkazy, které potřebujete. Nebojte se experimentovat!
Po přidání příkazů do skriptu, uložte jej pomocí klávesové zkratky CTRL + O.
Nyní je potřeba aktualizovat oprávnění skriptu. V terminálu zadejte:
sudo chmod +x myfirstbashscript
Spouštění skriptů
Skripty se spouští v terminálu různými způsoby. Pro spuštění shell skriptu použijte:
sudo sh script.sh
Pro spuštění bash skriptu použijte:
sudo bash script.bash
Alternativně lze jakýkoliv skript spustit pomocí ./nazev_souboru
, bez ohledu na jeho příponu.
Všechny tyto metody fungují, avšak použití ./nazev_souboru
je nejméně spolehlivé, pokud skript nemá nastavena správná oprávnění. Ty se nastavují příkazem:
sudo chmod +x script
Vytvoření binárního skriptu
Pokud chcete skript spouštět pouhým zadáním jeho názvu do terminálu, musíte z něj udělat binární soubor. Nejprve skript nastavte jako spustitelný pomocí příkazu chmod:
sudo chmod +x
Jakmile je skript označen jako spustitelný, je třeba jej přesunout do místa, které je součástí uživatelské cesty. Použijte příkaz MV. Alternativně můžete použít příkaz CP, pokud si chcete ponechat kopii skriptu v původním umístění.
sudo mv /umístění/skriptu /usr/bin/
nebo
sudo cp /umístění/skriptu /usr/bin/
Nyní můžete skript spustit odkudkoliv zadáním jeho názvu do terminálu. Například pokud jste si vytvořili skript pro automatické stahování videí z YouTube, který jste nazvali youtubescript
a umístili jste ho do složky /usr/bin/
, stačí v terminálu napsat:
youtubescript
A to je vše!
Závěr
Znalost skriptování v Bash je velmi užitečná dovednost. Bez ní by se správci systému a nadšenci do terminálu mohli ocitnout v nekonečné smyčce manuální práce. Díky bash skriptům můžete automatizovat mnoho úkolů v Linuxu. Naučte se využívat potenciál Bashe a vytvářejte skripty, které za vás rychle vykonají složité operace.
Shell je fascinující nástroj. Čím více se o něm naučíte, tím lépe pochopíte fungování vašeho Linuxového systému, a jak ho můžete zefektivnit a automatizovat. S Bashem máte neomezené možnosti, stačí trocha kreativity.