概要
よく忘れるコマンドのメモ。
試験しているときとかに、よく実行した結果を取っておく必要があるときもあります。
また、動作確認のために出力結果を見たい場合とか。
そういうときに、毎回リダイレクト書いたりするのが面倒って時があります。(めんどくさがりやなので。。)
たとえば、以下のような手順で実行されるコマンドの出力結果を取っておく必要があったとして
$ echo 'hello' hello $ echo 'world' world $ echo 'helloworld' helloworld
例なのでechoですが、実際は作成したコマンドなりシェルスクリプトなりで脳内置換してください。
出力結果を取っておきたいので
$ echo 'hello' >> cmd.log $ echo 'world' >> cmd.log $ echo 'helloworld' >> cmd.log $ cat cmd.log hello world helloworld
ってしてもいいんですが、毎行リダイレクト書くのが面倒。。
シェルの組み込みコマンド exec でリダイレクト
こんなときは、シェルの組み込みコマンド exec
つかってリダイレクトしておくと一時的に現在動作しているシェルの標準出力をリダイレクトできます。
$ exec > xxx
これでシェルの標準出力がリダイレクトされます。
元に戻す場合は
$ exec > /dev/tty
ってすればオッケイ。
$ exec > cmd.log $ echo 'hello' $ echo 'world' $ echo 'helloworld' $ exec > /dev/tty $ cat cmd.log hello world helloworld
ちゃんとリダイレクトされていますね。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場