1行にスクリプトエラーメッセージを書く

1行にスクリプトエラーメッセージを書く

コマンドを実行しています。

mv /prod/new/outputlog/error.log  /prod/hist/new/outputlog/error.log.32423423424

シェルスクリプトを使用します。

ファイルerror.logが利用できないため、コマンドは自動的にログファイルにエラーメッセージを書き込みます。エラーメッセージはmv: cannot rename /prod/new/outputlog/error.log /prod/hist/new/outputlog/error.log.324234234242行に折り返されません。

これはシステムによって生成されたエラーメッセージであるため、エラーメッセージの各行の長さを制御することはできません。メッセージの長さが80に達したら、システムはメッセージをラップしたいと思います。

ベストアンサー1

mv名前を変更する前にソースファイルが存在することを確認して、これらの試みを保護できます。

test -f /prod/new/outputlog/error.log &&
    mv /prod/new/outputlog/error.log /prod/hist/new/outputlog/error.log.32423423424

あるいは、エラーメッセージをキャプチャして2行に分割してみることもできます。

mv /prod/new/outputlog/error.log /prod/hist/new/outputlog/error.log.32423423424 2>&1 |
    fmt -s -w80 >&2

おすすめ記事