A shell szkriptek hibakeresése: Szintaxis ellenőrzése a

végrehajtása nélkül meg, de valójában nem hajt végre semmit, és nem okoz potenciális kárt?

Válasz

A bash(1) man oldal:

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

Megjegyzések

  • Nyilvánvalóan. Nem tudom, miért voltam annyira vak, hogy ezt nem láthattam, amikor végignéztem a kézi oldalakat.

Válasz

Próbálja ki 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. 

Nos, nem mondta el, hogy a “ha” hiányzik a 634. sorból, de nagyon hasznos volt.

Megjegyzések

  • ' azt is érdemes megjegyezni, hogy lokálisan is letöltheti és futtathatja, a Haskellben fut.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük