Redirect stderr - Linux

By Zora
at 2012-07-23T11:18
at 2012-07-23T11:18
Table of Contents
dir=$(mktemp -p "${TMPDIR:-.}" -d dir-XXXX) || exit 1
fifo=$dir/fifo
mkfifo "$fifo"
pid=$$
echo $pid > $dir/pid
dd if=$fifo bs=1 | tee /proc/$pid/fd/1 >$dir/logfile&
#dd if=$fifo bs=1 | tee /proc/$pid/fd/1& >$dir/logfile&
#原文上面多了一個&
#送回stderr的process
exec 2>$fifo
#這一行會吧stderr會送出去
#可是bash的回應(像是PS1)也是走stderr,所以要有別的process把他送回來
接下來就看你回不要把bash的回應除掉囉
要不然還有一個方法:用readline的inputrc,
"\r":" "2>/logfile\C-o"
可是會把行的內容留在下一次的prompt
我不知到inputrc有沒有像vi一樣的noremap
至少"\r":"xxxx\r"是無窮迴圈
--
fifo=$dir/fifo
mkfifo "$fifo"
pid=$$
echo $pid > $dir/pid
dd if=$fifo bs=1 | tee /proc/$pid/fd/1 >$dir/logfile&
#dd if=$fifo bs=1 | tee /proc/$pid/fd/1& >$dir/logfile&
#原文上面多了一個&
#送回stderr的process
exec 2>$fifo
#這一行會吧stderr會送出去
#可是bash的回應(像是PS1)也是走stderr,所以要有別的process把他送回來
接下來就看你回不要把bash的回應除掉囉
要不然還有一個方法:用readline的inputrc,
"\r":" "2>/logfile\C-o"
可是會把行的內容留在下一次的prompt
我不知到inputrc有沒有像vi一樣的noremap
至少"\r":"xxxx\r"是無窮迴圈
--
Tags:
Linux
All Comments

By Olga
at 2012-07-25T03:11
at 2012-07-25T03:11

By Mia
at 2012-07-29T19:29
at 2012-07-29T19:29

By Olga
at 2012-07-30T02:38
at 2012-07-30T02:38

By Donna
at 2012-07-31T07:19
at 2012-07-31T07:19

By George
at 2012-08-01T03:34
at 2012-08-01T03:34

By Valerie
at 2012-08-05T04:17
at 2012-08-05T04:17

By Quanna
at 2012-08-08T22:09
at 2012-08-08T22:09

By Margaret
at 2012-08-12T13:12
at 2012-08-12T13:12
Related Posts
雙系統時間調整

By Charlotte
at 2012-07-23T01:32
at 2012-07-23T01:32
有辦法讓Wine正常執行HackShield嗎

By Susan
at 2012-07-22T21:53
at 2012-07-22T21:53
CentOS的ISO檔不能直接下載啊?

By Anthony
at 2012-07-22T19:52
at 2012-07-22T19:52
Redirect stderr

By Wallis
at 2012-07-22T14:52
at 2012-07-22T14:52
Redirect stderr

By Carol
at 2012-07-22T13:30
at 2012-07-22T13:30