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
evalで変数名を変数にする@bash

シェルスクリプトで変数を使用していると、変数名を変数にしたい場合が出てきます。 …

no image
標準出力と標準エラー出力を入れ替える方法@bash

標準出力と標準エラー出力を入れ替える方法を、結論だけを先に書くと 3>&a …

no image
任意カラムでのsort

これもまた覚え書き。 sort コマンドは通常、テキストファイルを行単位でソート …

no image
vimでシンタックスのハイライトがおかしくなる

vim では、テキストファイルの種類に応じて色をつけてくれる機能(ハイライト機能 …

no image
gitで過去のコミットを書き換える方法まとめ

コミットしてしまった後に恥ずかしい間違いに気づいて書き換えたい時の対処方法。 ま …

no image
Java スクリプト API

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

no image
vim-rubyのインストール@cygwin

昨日はDebian上でのvim-rubyインストールについて書いたが、今回はcy …

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

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

no image
vimでpythonの補完を行う

pythonを少し書いてみようと思い立ち、とりあえずvimでpythonのキーワ …

no image
vimでpythonのプラグラムの一部分を一気にインデント追加or削除する

python って、インデントでプログラムの構造を定義しますので、インデントを簡 …