【set -x】bash/シェルスクリプトマニアックコマンドあれこれ12

スクリプトのデバッグ

Bashは広範なデバッグ機能を提供しています。

デバッグの方法は3種類あります

1.ターミナルの実行時に -x オプションを付与する

$ bash -x helloScript.sh

2.ソースコードの冒頭のシェバンに -x オプションを付与する

#!/bin/bash -x
:
:

3.デバッグの開始点と終了点を決めてデバッグ
デバッグの開始点にコマンド ‘set -x’終了点には ‘set +x’ と書きます。

#!/bin/bash 

set -x
echo "置き換えたいファイル名を入寮して下さい。"
read fileName
set +x

if [[ -f "$fileName" ]]; then
  sed -e "s/Linux/Unix/g" "$fileName";
else
  echo "$fileName はありません。";
fi
$ bash test
+ echo 置き換えたいファイル名を入寮して下さい。
置き換えたいファイル名を入寮して下さい。
+ read fileName
grepfile.txt
+ set +x
This is Unix
This is Windows
This is MAC
This is Unix
This is Windows
This is MAC
This is Unix
This is Windows
This is MAC
This is Unix
This is Windows
This is MAC
$
#!/bin/bash

# デバッグ開始
set -x

var1=`date +%M`

# デバッグ終了
set +x

var2=`ls -1 | wc -l`
var3="DEBUG TEST"

exit 0
$ bash debug3.sh
++ date +%M
+ var1=56
+ set +x
$

書籍の紹介

【ターミナルTIPS】ターミナルで知っておくとちょっとだけ便利なコマンド

【ターミナルTIPS】ターミナルで知っておくとちょっとだけ便利なコマンド

【nl】bash/シェルスクリプトマニアックコマンドあれこれ11

【nl】bash/シェルスクリプトマニアックコマンドあれこれ11