Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
シェルスクリプトのデバッグ方法

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

シェルスクリプトのデバッグが面倒すぎて、凡ミスしてたらスーパーオプションを教えてもらった。
-x 変数を展開しながらコードを表示してくれる

sh -x xxx.sh

例えば↓のスクリプト

#!/bin/bash

xxx01="猫"
xxx02=`date +'%Y%m%d'`

echo ${xxx01}
mkdir ${xxx02}

普通に実行

[ec2-user@ip-000-000-00-00 ~]$ sh xxx.sh 
猫

これだと、いつ時点に何が入っているかechoしながらとかになる。 めんどう。。  

スーパーオプション -x だと

[ec2-user@ip-000-000-00-00 ~]$ sh -x xxx.sh 
+ xxx01=$'\347\214\253'
++ date +%Y%m%d
+ xxx02=20170405
+ echo $'\347\214\253'
猫
+ mkdir 20170405

変数を展開したコードも出力される。 べんり!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment