Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

シェルスクリプト内のコマンドのエラー出力をファイルに一括リダイレクト

   

通常、シェルスクリプトのエラー出力をファイルに保存したい場合、以下のように、「コマンド 2>ファイル名」 でファイルに追記でリダイレクトすることがあります。

#!/bin/bash

ls /hoge 2>> err.log
cat /hoge 2>> err.log

 

実行例

$ ./myscript.sh
$ cat err.log
ls: '/hoge' にアクセスできません: No such file or directory
cat: /hoge: No such file or directory

 

ただ、シェルスクリプトが長くなってくると、全てのコマンドにリダイレクトを記述するのは面倒です。そういった場合は、exec を使って一括でリダイレクトすることが可能です。

$ cat myscript.sh
#!/bin/bash

exec 2> err2.log
ls /hoge
cat /hoge

$ ./myscript.sh
$ cat err2.log
ls: '/hoge' にアクセスできません: No such file or directory
cat: /hoge: No such file or directory

 

 

 - プログラミング

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
ログアウトしてもプロセスを止めないようにする@bash

bash上で何かプログラムを走らせている時に、ログアウトしてもプロセスを動かし続 …

no image
Java スクリプト API

Javascriptではありません。Java スクリプト APIです。 JRub …

no image
ローカルファイルの読み取り@Javascript with Rhino

Rhinoを使ったJavascriptスクリプトでファイルを読み込むにはread …

no image
vimでシンタックスハイライトの関連づけ拡張子を追加する@CentOS 5.3

vimで.shの拡張子を開くと、シェルの構文がハイライトされるし、.c を開けば …

no image
screenコマンド覚え書き@Linux

ssh接続が切れても作業環境を保てたり、複数画面を切り替えられたり、画面上の文字 …

no image
ブラウザ上でのWYSIWYG HTMLエディター

このサイトで使用しているWordPressでも記事作成するときに使用しているよう …

no image
echoコマンドで改行やタブを扱うには@Linux (Debian Etch)

UNIX系OSでも最も有名な部類に入るコマンドechoは、引数の文字列や変数の中 …

no image
gitで複数のコミットを一つにしてマージする

自分の開発ブランチではこまめにコミットしたいけど、リリース用のブランチにはもっと …

no image
Cのコメント部分を正規表現で検索@vim

ソースコードを機械的に解析する際、コメントが邪魔だったりします。 viでコメント …

no image
rubyのexitの終了コード@1.8.5 and 1.8.7

最近rubyを使い始めて、いざプログラムを書いたところ、終了ステータスがうまく戻 …