私のUbuntuエンジンで簡単なシェル/ bashベースのバックアップスクリプトを設計して動作させた後、Debianサーバにアップロードしました。Debianサーバは、実行中にいくつかのエラーを出力します。Bashスクリプト:エラーを有効にしますか?
私のUbuntuマシンで「エラー処理」を有効にしてデバッグしやすくするにはどうすればよいですか?
私のUbuntuエンジンで簡単なシェル/ bashベースのバックアップスクリプトを設計して動作させた後、Debianサーバにアップロードしました。Debianサーバは、実行中にいくつかのエラーを出力します。Bashスクリプト:エラーを有効にしますか?
私のUbuntuマシンで「エラー処理」を有効にしてデバッグしやすくするにはどうすればよいですか?
-v
または-x
のいずれかまたは両方で手動でスクリプトを実行してください。otheruserのsu -c 『SH -vスクリプト』」のようなもので、プログラムを実行しよう以下のようなものかもしれない、/bin/logger
に、cron(8)
によって実行場合は特に、パイプに悪いコマンドの結果をしたい:
sh -v -x badscript 2>&1 | /bin/logger -t badscript
、その後は/ var/log/messagesに見に行きます。
:
#!/bin/bash -x
あなたはまた、バッシュがそれを実行せず、エラーのためにファイルをスキャンしていることができます。
$ bash -n scriptname
Bashでは、デバッグを選択的にオンにするか、set
コマンドで完全にオンにすることができます。 bashスクリプトをデバッグする方法については、good referenceです。
コマンドset -x
は、スクリプトの任意の場所でデバッグを有効にします。同様に、set +x
は再びオフになります。これは、スクリプトの一部からのデバッグ出力のみを表示する場合に便利です。
Ubuntuではなく、Debianに表示されているエラーはありません。 – Industrial
@Industrial:特定のエラーメッセージが何であるか分かっていれば、もっと役に立ちます。 –