CMD Master
Zpět na blog
•Aktualizováno•Arnošt Havelka

Jak napsat a spustit první Bash skript

Vytvořte Bash skript, zkontrolujte syntaxi, nastavte spouštění a pochopte rozdíl mezi bash script.sh a ./script.sh.

Spustit interaktivní lekci
Jak napsat a spustit první Bash skript

Bash skript je textový soubor s příkazy, které Bash provádí postupně. Do souboru script.sh uložte shebang a první příkaz, zkontrolujte syntaxi, přidejte oprávnění ke spuštění a spusťte jej pomocí ./script.sh. Při hledání problémů můžete použít také bash script.sh. Stejný postup si bezpečně vyzkoušíte v lekci o prvním skriptu.

Uložte shebang a viditelný příkaz

V editoru vytvořte script.sh s těmito řádky:

#!/usr/bin/env bash
printf '%s\n' 'Hello World'

Shebang při přímém spuštění říká systému, aby našel bash v aktuální cestě příkazů. Zápis #!/bin/bash je také běžný, pokud je Bash na daném počítači skutečně v této cestě.

Zkontrolujte uložený soubor:

cat script.sh

Odhalíte tak prázdný soubor, chybný název nebo uložení v jiné složce. U souboru vytvořeného ve Windows zkontrolujte konce řádků LF; skrytý znak CR může způsobit chybu „bad interpreter“.

Zkontrolujte syntaxi bez spuštění

bash -n script.sh

Žádný výstup znamená, že Bash nenašel syntaktickou chybu. Neověřuje to existenci cest, oprávnění ani správnost výsledku.

Nastavte oprávnění ke spuštění

chmod u+x script.sh

Výsledek ověřte:

ls -l script.sh

Ve trojici oprávnění vlastníka by nyní mělo být x. Příkaz chmod mění režim souboru, nikoli jeho obsah.

Rozlišujte dva způsoby spuštění

Spuštění souboru z aktuální složky:

./script.sh

Předpona ./ určuje cestu. Shell obvykle aktuální složku automaticky neprohledává.

Přímé předání souboru interpretu:

bash script.sh

Tato varianta vyžaduje čitelný soubor, nikoli spustitelný bit, a Bash zpracuje obsah bez ohledu na shebang. Pomáhá proto oddělit chybu obsahu od chyby při spouštění souboru.

Řešte konkrétní chybovou zprávu

  • No such file or directory: ověřte umístění a název pomocí pwd a ls.
  • Permission denied: zkontrolujte spustitelný bit, vlastníka, práva složky a připojení disku.
  • Bad interpreter: zkontrolujte cestu v shebangu a konce řádků.
  • Syntax error: spusťte bash -n script.sh a prohlédněte označený řádek.
  • Neočekávaný výstup: spusťte jednotlivé příkazy ručně se stejnými vstupy.

Poté pokračujte k proměnným v Bashi, funkcím nebo k bezpečnějšímu zálohovacímu skriptu. Podrobnosti uvádí příručka GNU Bash pro shellové skripty.

Reference

Tyto odkazy na dokumentaci poskytují spolehlivé informace o příkazech použitých v tomto článku.

Další

Jak napsat bezpečnější zálohovací skript v Bashi pomocí tar

Sestavte Bash skript, který ověří zdroj, nepřepíše zálohu, odstraní neúplný archiv a před úspěchem zkontroluje soubor tar.