シェル実行時のデバッグモードについて

シェルスクリプトをデバッグモードで実行方法

以外と知らない人がいたので記載。
業務上でLinux系OSを使用する方の多くは、シェルスクリプトを作成されると思います。
それこそ運用効率化だったり、バックアップ等の処理を作ったり。

いざシェルスクリプトを作成したはいいけど、テストをする際にどこで異常が起こったかわからない。
そんな方は実行時にオプションで「x」を使ってみてください。
きっと幸せな結果になると思います。
※シェルにはshやbash、cshなど複数ありますがデバッグモードの実行方法は同じです。

私もこの方法を先輩に教えてもらった身なので偉そうなことは言えませんが。
初めて知ったのはもう9年程前になりますが、いまだに役に立っています。
当時教えていただいたKさん。ありがとう!!

このデバッグモードのいいところは、例えばシェル内で変数を定義している場合、その変数に格納された値が何になっているかわかることです。
また、処理の進捗状況も標準出力されますので、画面上で確認することができます。
※まあ判定部分などのポイントでechoしちゃえばそれでもいいんですけどね。

◆実行方法(詳しいことはいろいろなサイトに情報があると思うので簡単に記載します)
実行シェル名「test.sh」
# sh -x test.sh

とすればいいだけです。
まあ、シェルの1行目にシェバング(「#!/bin/sh」とか「#!/bin/bash」とか。読み方あっていましたっけ・・・)を記載する際に、それを「#!/bin/sh -x」とかにしてしまってもいいんですけど。

[注意点]
デバッグモードですので、処理自体は実行されます。
(「①ファイルを作って②移動する」という処理の場合、②の移動処理部分でエラーがあったとしても、①のファイルを作る部分は問題ない為ファイルが作成されるということです)
システムの本番環境で試す場合はご注意を。削除が絡む処理などは特に。

以上、ざっくりですがシェルスクリプトでのデバッグモードについてでした。


  • このエントリーをはてなブックマークに追加

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

*

ページ上部へ戻る