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í lekciBash 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ší
Sestavte Bash skript, který ověří zdroj, nepřepíše zálohu, odstraní neúplný archiv a před úspěchem zkontroluje soubor tar.