Ladění skriptů prostředí: Kontrola syntaxe bez provádění

Existuje nějaká možnost, kterou mohu dát, stačí zkontrolovat syntaxi skriptu [bash] a zkontrolovat syntaxi to, ale ve skutečnosti nic neprovedete ani nezpůsobíte žádné potenciální škody?

Odpovědět

Z bash(1) manuálová stránka:

-n Read commands but do not execute them. This may be used to check a shell script for syntax errors. This is ignored by interactive shells. 

Komentáře

  • Je zřejmé. Nevím, proč jsem byl tak slepý, že jsem to nemohl vidět, když jsem procházel manuálovými stránkami.

Odpověď

Vyzkoušet http://www.shellcheck.net

$ shellcheck myscript.sh In myscript.sh line 590: for f in $*; do ^-- SC1009: The mentioned parser error was in this for loop. In myscript.sh line 617: if [ ! -e "$somefile".vcf ]; then ^-- SC1046: Couldn"t find "fi" for this "if". ^-- SC1073: Couldn"t parse this if expression. In myscript.sh line 1026: done ^-- SC1047: Expected "fi" matching previously mentioned "if". ^-- SC1072: Unexpected keyword/token. Fix any mentioned problems and try again. 

No, neřeklo mi to „pokud“ na řádku 634 chybělo, ale bylo to docela užitečné.

Komentáře

  • Za zmínku stojí ' s tím, že si ji můžete stáhnout a spustit lokálně, běží v Haskellu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *