linuxでbashスクリプトのデバッグをしたいですが、
何かいい方法はありませんか?
(出来ればステップ実行したいです)
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
bashにはDEBUGというコマンドが実行される毎に発するシグナルがあるので、
trapでDEBUGシグナルを補足すれば1行毎に処理を挟めます。
そこでreadコマンド(-pオプション)でBASH_COMMANDを表示させればポチる毎にコマンドを表示しながら処理を進められます。
trap 'read -p "$BASH_COMMAND"' DEBUG
なのでこんな感じのコマンドを冒頭に突っ込めばステップ実行ができます。
まぁちゃんとしたデバッグじゃないんで「bash -x」みたいに変数の中身を出したりはしてくれませんが。
投稿2014/08/12 12:56
総合スコア843
0
ベストアンサー
あまり詳しくなくてすみません。
shでも使える-xオプションは、行ごとにコマンド内容が変数が展開された状態で表示されます。
bashだと-vオプションというのもあります。
下記リンクのページに他にもいくつか例が載っていますので参考にしてください。
シェルスクリプトのデバッグ - UNIX & Linux コマンド・シェルスクリプト リファレンス
使い方をちょっとだけ書いておきます。
test.shなら
$ sh -x test.sh $ bash -x test.sh
ファイルの先頭行(shebang)に記載してもOKです。
#!/bin/sh -x
これなら、./で実行できます。
でも、前者のほうが、スクリプトを書き換えないで済むのでおすすめです。
投稿2014/08/12 10:26
総合スコア9396
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
私も通常はtrap使いますね。
http://oss-lab.net/?p=730
投稿2014/08/12 14:02
総合スコア241
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/08/18 02:24