Redirect stderr - Linux

Table of Contents

※ 引述《ALTandTAB (30)》之銘言:
: 你是想stdout&stderr -> screen 且 stderr -> file 嗎?

是的

: 如果我沒搞錯的話應該可以用下面的script完成
: str="$@"; ${str#$1} 3>&1 1>&2 2>&3 | tee $1 ;
: 然後把上面那一行存成xxx.sh 或 xxx
: 之後你只要呼叫 sh xxx.sh [你要輸出stderr的filename] [你的command] 就可以了

假設str那行成立的話,那後續我還是要打其他的指令/參數才能有您所寫的第一行的目的?

: 基本上就是swap stdout & stderr 然後用tee去存
: 嫌打sh太麻煩你就chmod一下即可

我連額外的指令/參數都不想多打冏,不是我懶,而是我有其他目的@@

我舉個例好了,一般使用gnome terminal在下make或其他指令時情況下

會是stdout&stderr -> screen的情形

而我想要的是在同樣的操作環境下,每次在輸入指令的過程中

不需接任何參數(相關的redirect參數)的情況下

就會有stdout&stderr -> screen 且 stderr -> file的情形

所以我先前的想法是將redirect的相關參數寫死在某個地方(變數/環境變數/設定檔)

這樣我每次使用gnome terminal下一般指令就會有

stdout&stderr -> screen 且 stderr -> file的情形

目前我還在試大家已經回覆給我的方法,因為有些內容看不太懂@@

謝謝您的回覆:)

--

All Comments

Yedda avatarYedda2012-07-26
你可以在.bashrc裡用bind http://tinyurl.com/bv27tls
Adele avatarAdele2012-07-27
只是這樣輸出stderr的filename就要在script檔裡手動調
John avatarJohn2012-07-28
感謝A大的資訊:),我試試看