Skip to content

Instantly share code, notes, and snippets.

@eiichi-worker
Last active April 5, 2017 11:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eiichi-worker/83b804f405b446977897da20dd5694fd to your computer and use it in GitHub Desktop.
Save eiichi-worker/83b804f405b446977897da20dd5694fd to your computer and use it in GitHub Desktop.
シェルスクリプトのデバッグ方法

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

シェルスクリプトのデバッグが面倒すぎて、凡ミスしてたらスーパーオプションを教えてもらった。
-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