Există o opțiune pe care o pot oferi doar pentru a verifica sintaxa unui script shell [bash] pentru a verifica sintaxa dar nu executați nimic și nici nu provocați daune potențiale?
Răspuns
Din bash(1)
pagina man:
-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.
Comentarii
- Evident. Nu știu de ce am fost atât de orb încât nu am putut vedea acest lucru când am trecut prin paginile manualului.
Răspuns
Încercați 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.
Ei bine, nu mi-a spus „dacă” lipsea pe linia 634, dar a fost destul de util.
Comentarii
- ' merită de asemenea remarcat faptul că îl puteți descărca și rula local, rulează în Haskell.