2011-01-21 10 views
0

私のUbuntuエンジンで簡単なシェル/ bashベースのバックアップスクリプトを設計して動作させた後、Debianサーバにアップロードしました。Debianサーバは、実行中にいくつかのエラーを出力します。Bashスクリプト:エラーを有効にしますか?

私のUbuntuマシンで「エラー処理」を有効にしてデバッグしやすくするにはどうすればよいですか?

答えて

2
  • SSHサーバー
  • -vまたは-xのいずれかまたは両方で手動でスクリプトを実行してください。
  • は、端末ウィンドウ
    必要な場合には、エラーの実行のユーザー、グループ、および環境を複製します。またかもしれない

otheruserのsu -c 『SH -vスクリプト』」のようなもので、プログラムを実行しよう以下のようなものかもしれない、/bin/loggerに、cron(8)によって実行場合は特に、パイプに悪いコマンドの結果をしたい:

sh -v -x badscript 2>&1 | /bin/logger -t badscript 

、その後は/ var/log/messagesに見に行きます。

1
トレース・オプションを含めるようにシェバング行を変更

#!/bin/bash -x 

あなたはまた、バッシュがそれを実行せず、エラーのためにファイルをスキャンしていることができます。

$ bash -n scriptname 
+0

Ubuntuではなく、Debianに表示されているエラーはありません。 – Industrial

+0

@Industrial:特定のエラーメッセージが何であるか分かっていれば、もっと役に立ちます。 –

2

Bashでは、デバッグを選択的にオンにするか、setコマンドで完全にオンにすることができます。 bashスクリプトをデバッグする方法については、good referenceです。

コマンドset -xは、スクリプトの任意の場所でデバッグを有効にします。同様に、set +xは再びオフになります。これは、スクリプトの一部からのデバッグ出力のみを表示する場合に便利です。

関連する問題