シェルスクリプトのデバッグが面倒すぎて、凡ミスしてたらスーパーオプションを教えてもらった。
-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
変数を展開したコードも出力される。 べんり!