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

電車の遅延や事故などの運行情報を公開しているサイトがありますが、使用している路線 …

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

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

no image
gitで現在の変更を一時的に退避して他の修正をする

ソースコードにある目的をもって機能追加している際、機能とは関係ないバグを見つける …

no image
シェルスクリプトでファイル内の文字列を置換する

== 2012/11/8 追記 == 以下ではedコマンドでの文字列置換を紹介し …

no image
rdesktopの改造@Debian etch

LinuxからWindowsのリモートデスクトップに接続するコマンドです。 De …

no image
ソースコードを読むためのツール

CodeReadingWikiを改造してみました  →  こちら 現在多くのアプ …

no image
Windowsで円マーク”¥”をバックスラッシュ”\” で表示する

Windowsのフォントは、”¥”を”¥&# …

no image
マネージドBeanのスレッドセーフについて

サーブレットは、web.xmlのservlet要素毎にひとつつくられるため、複数 …

no image
perlのCPANでモジュールをインストール@Debian Etch

CPANにはperlのモジュールが多数登録されています。これをインストールする方 …

no image
gitのbash-completionを使用してのプロンプト変更@Ubuntu 14.04

Git 最低限の設定@CentOS 5 でGitのbash_completion …