サーチ…


"-x"でbashスクリプトをデバッグする

実行された行のデバッグ出力を有効にするには、 "-x"を使用します。セッション全体またはスクリプト上で実行することも、スクリプト内でプログラムで使用することもできます。

デバッグ出力を有効にしてスクリプトを実行する:

$ bash -x myscript.sh

または

$ bash --debug myscript.sh

bashスクリプト内でデバッグをオンにします。デバッグ出力は、スクリプトが終了すると自動的にリセットされますが、オプションでオンに戻すこともできます。

#!/bin/bash
set -x   # Enable debugging
# some code here
set +x   # Disable debugging output. 

"-n"を使ってスクリプトの構文をチェックする

-nフラグを使用すると、スクリプトを実行することなくスクリプトの構文をチェックできます。

~> $ bash -n testscript.sh
testscript.sh: line 128: unexpected EOF while looking for matching `"'
testscript.sh: line 130: syntax error: unexpected end of file

usigh bashdbのデバッグ

Bashdbは、行や関数にブレークポイントを設定したり、変数の内容を表示したり、スクリプトの実行を再開したりすることができるなど、gdbに似たユーティリティです。

通常はFedoraなどのパッケージマネージャーからインストールできます:

sudo dnf install bashdb 

または、 ホームページから入手してください。次に、スクリプトをパラメータとして実行することができます。

bashdb <YOUR SCRIPT>

次のコマンドを使用して開始します。

l - show local lines, press l again to scroll down
s - step to next line 
print $VAR - echo out content of variable 
restart - reruns bashscript, it re-loads it prior to execution.
eval - evaluate some custom command, ex: eval echo hi

b <line num> set breakpoint on some line 
c - continue till some breakpoint 
i b - info on break points 
d <line #> - delete breakpoint at line #

shell - launch a sub-shell in the middle of execution, this is handy for manipulating variables

詳細については、マニュアルを参照することをお勧めします。http : //www.rodericksmith.plus.com/outlines/manuals/bashdbOutline.html

ホームページもご覧ください:
http://bashdb.sourceforge.net/



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow