web-dev-qa-db-ja.com

入力した*すべての*シェルコマンドの出力を別のコマンドにパイプするにはどうすればよいですか? (例:すべてを「lolcat」にパイプします)

こんにちは、

(OS Xユーザー)

私は特に、入力したすべてのシェルコマンドの出力をRuby gem'lolcat '(ターミナルRainbowへの出力を色付きにします)にパイプしようとしています。

コマンドを個別に明示的にエイリアスせずにこれを行う方法はありますか?リターンキーを押す前に何かをパイプする方法があるのではないかと思っていましたが、どうすればいいのかわかりません。

ターミナルの1色だけを見るのにうんざりしているので、ご協力いただければ幸いです。

8
user1442303

シェルでstdoutをリダイレクトできます。

exec 1> >(lolcat)

だが

lolcatが独自の出力をstdoutに送信すると、問題が発生することになります。これはうまくいくかもしれません

exec 1> >(lolcat >&2)
3
glenn jackman

あなたはこれを行うことができます:

bash | lolcat

これはbashに入り、実行するコマンドはすべてRainbowになります

1
Ivan