シェルスクリプトのデバッグ:

を実行せずに構文をチェックする[bash]シェルスクリプトの構文をチェックして、の構文をチェックするためのオプションはありますか? しかし、実際には何も実行せず、潜在的な損傷も引き起こしませんか?

回答

bash(1)のマニュアルページ:

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

コメント

  • もちろんです。 マニュアルページを読んでいるときに、なぜこれが見えないほど盲目だったのかわかりません。

回答

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. 

ええと、634行目に「if」がないことはわかりませんでしたが、かなり役に立ちました。

コメント

  • 'は、ローカルでダウンロードして実行できることにも注意してください。Haskellで実行されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です