【Linux】スクリプトをデバッグする:bash -v

Linux

どーも!marusukeです!

自分で作成したスクリプトをデバッグするコマンドbash -vについて説明します!

Bashの-vオプションによるデバッグ

bash -v script.sh

Bashの-vオプションは、スクリプト内のコマンドを実行する前に表示するデバッグモードを有効にするオプションです。

上記コマンドを実行すると、スクリプトのscript.shが実行する各行が端末に出力され、スクリプトの動作を追いやすくなります

-vオプションはスクリプトの読み込まれている行の確認スクリプトの動作の理解に役立ちます

主な機能

  1. スクリプト行の出力: 各コマンドが実行される前に表示されるため、どの行が読み込まれているか確認できます。
  2. コメント行も表示: コメント行も含めてすべての行が表示されるため、スクリプトの内容全体をデバッグに活用できます。

-vオプションの使用例

例: -vオプションによる出力

例えば、以下のようなスクリプトscript.shがあるとします

#!/bin/bash
# スクリプト開始
echo "Hello, World!"
value=10
echo "Value is $value"
# スクリプト終了

bash -v script.shを実行すると、次のように表示されます

#!/bin/bash
# スクリプト開始
echo "Hello, World!"
Hello, World!
value=10
echo "Value is $value"
Value is 10
# スクリプト終了

各コマンド行が実行前にそのまま表示され、実行されたコマンドの結果も続けて表示されます

-vオプションと他のデバッグオプションの違い

オプション説明
-v実行する前に各行を表示します。コメントも表示
-x実行前に各コマンドを表示(展開後のコマンドのみ表示)
-n構文チェックのみを行い、コマンドは実行されません

-vと-xの併用

-v-xを併用することで、各行の内容と、展開されたコマンドの両方が確認でき、より詳細なデバッグが可能です

bash -vx script.sh

まとめ

-vオプションは、スクリプトの読み込みを行ごとに表示し、スクリプトのデバッグや構造理解を支援します。-xオプションと組み合わせると、コマンドの展開も確認でき、デバッグがさらに効率的に行えます

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました