BBS水木清华站∶精华区
发信人: hustluby (luby), 信区: Linux
标 题: tcpserver问题
发信站: BBS 水木清华站 (Wed Oct 11 18:27:47 2000)
tcpserver -u **** -g **** 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | splogger...
∶ ~~~~
此处,2>&1 表示什么意思?
如果是将错误输出重定向,则为 2>
如果是将标准输出和错误输出都重定向,则为 &>
那么这个2>&1呢?不是重定向,那是什么呢?
请赐教,thx.
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.69.205.91]
发信人: hellguard (小四), 信区: Linux
标 题: Re: tcpserver问题
发信站: BBS 水木清华站 (Wed Oct 11 19:21:18 2000)
意思是把stderr重定向到stdout呀。其他的你说的都对。
【 在 hustluby (luby) 的大作中提到: 】
∶ tcpserver -u **** -g **** 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | splogger...
∶ 此处,2>&1 表示什么意思?
∶ 如果是将错误输出重定向,则为 2>
∶ 如果是将标准输出和错误输出都重定向,则为 &>
∶ 那么这个2>&1呢?不是重定向,那是什么呢?
∶ 请赐教,thx.
--
也许有一天,他再从海上蓬蓬的雨点中升起,
飞向西来,再形成一道江流,再冲倒两旁的石壁,
再来寻夹岸的桃花。然而,我不敢说来生,也不敢信来生......
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.73.87.125]
发信人: hustluby (luby), 信区: Linux
标 题: Re: tcpserver问题
发信站: BBS 水木清华站 (Wed Oct 11 20:09:37 2000)
试编一小段程序如下:
#inlcude <stdio.h>
int main()
{
fprintf(stderr, "I'm wrong!\n");
fprintf(stdout, "I'm right!\n");
}
编译后运行 ./a.out 2>&1 >1.txt
如果如你所说,那么这应该表示把stderr重定向到stdout,
之后是否表示再将stdout重定向到1.txt?
如果是这样,1.txt中应为:I'm wrong!
I'm right!
可是为何实际该文件中仅有 I'm right!
而在屏幕上却输出了I'm wrong!
thx!!!
【 在 hellguard (小四) 的大作中提到: 】
∶ 意思是把stderr重定向到stdout呀。其他的你说的都对。
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.69.205.91]
发信人: flyriver (江~~麦嘎得), 信区: Linux
标 题: Re: tcpserver问题
发信站: BBS 水木清华站 (Wed Oct 11 20:17:10 2000)
【 在 hustluby (luby) 的大作中提到: 】
∶ 试编一小段程序如下:
∶ #inlcude <stdio.h>
∶ int main()
∶ {
∶ fprintf(stderr, "I'm wrong!\n");
∶ fprintf(stdout, "I'm right!\n");
∶ }
∶ 编译后运行 ./a.out 2>&1 >1.txt
./a.out > 1.txt 2>&1
∶ 如果如你所说,那么这应该表示把stderr重定向到stdout,
∶ 之后是否表示再将stdout重定向到1.txt?
∶ 如果是这样,1.txt中应为:I'm wrong!
∶ ...................
--
Nothing but UNIX.
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.67.183]
发信人: prentice (嘿嘿), 信区: Linux
标 题: Re: tcpserver问题
发信站: BBS 水木清华站 (Wed Oct 11 20:20:40 2000)
请问哪里有qmail的原代码。qmail-1.03.tgz好象没有原代码
谢谢
【 在 flyriver (江~~麦嘎得) 的大作中提到: 】
∶ ./a.out > 1.txt 2>&1
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.69.206.187]
发信人: cybergene (基因~十月的天空~~), 信区: Linux
标 题: Re: tcpserver问题
发信站: BBS 水木清华站 (Wed Oct 11 20:33:32 2000)
【 在 prentice (嘿嘿) 的大作中提到: 】
∶ 请问哪里有qmail的原代码。qmail-1.03.tgz好象没有原代码
∶ 谢谢
那就是辕马。
--
********************************************************************
I came, I saw, and I deleted all your files...
********************************************************************
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.204.7.234]
发信人: hustluby (luby), 信区: Linux
标 题: Re: tcpserver问题
发信站: BBS 水木清华站 (Wed Oct 11 20:39:30 2000)
thx,I got the intended result.
but, 当我安装vpopmail时,其安装文件里有这样一行:
/home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
why? what does it mean?
如果要将错误输出与标准输出都定向到/dev/null,
为什么不用 ... > /dev/null 2>&1 呢?
【 在 flyriver (江~~麦嘎得) 的大作中提到: 】
∶ ./a.out > 1.txt 2>&1
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.69.205.91]
发信人: scaner (L3), 信区: Linux
标 题: Re: tcpserver问题
发信站: BBS 水木清华站 (Wed Oct 11 22:18:29 2000)
> |两个优先极是不一样了.
【 在 flyriver (江~~麦嘎得) 的大作中提到: 】
∶ ./a.out > 1.txt 2>&1
--
一杯酒, 一首歌, 一辈子, 一场梦
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.205.10.77]
发信人: flyriver (江~~麦嘎得), 信区: Linux
标 题: Re: tcpserver问题
发信站: BBS 水木清华站 (Wed Oct 11 22:39:50 2000)
【 在 hustluby (luby) 的大作中提到: 】
∶ thx,I got the intended result.
∶ but, 当我安装vpopmail时,其安装文件里有这样一行:
∶ /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
∶ why? what does it mean?
∶ 如果要将错误输出与标准输出都定向到/dev/null,
∶ 为什么不用 ... > /dev/null 2>&1 呢?
一般来说错误信息都是从stderr输出的。教本里面的那
句话的意思是先把stderr定向到stdout,而仅仅把stdout定
向到/dev/null。于是你只看到错误信息,而且是从stdout
出来的错误信息。至于为什么这样做,可能是为了进一步的
重定向用途吧。例如你可以用grep对输出的错误信息进行筛
选。
举个例子。
$ cat hehe.sh
#!/bin/sh
echo "stdout"
echo "stderr output" >&2
$ ./hehe.sh 2>&1 >/dev/null
stderr output
$ ./hehe.sh 2>&1 >/dev/null | wc -
1 2 14 -
重定向的原理也不复杂,就是一个dup2()调用而已。
--
Nothing but UNIX.
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.67.183]
发信人: hellguard (小四), 信区: Linux
标 题: Re: tcpserver问题
发信站: BBS 水木清华站 (Thu Oct 12 12:14:21 2000)
重定向的顺序问题
2>&1 1> out.txt 和 1> out.txt 2>&1 不一样。
shell在解释执行的时候,有区别,后一种方式导致stdout、stderr最
终重定向到了out.txt,前一种方式仅仅是stdout重定向到out.txt。
【 在 hustluby (luby) 的大作中提到: 】
∶ 试编一小段程序如下:
∶ #inlcude <stdio.h>
∶ int main()
∶ {
∶ fprintf(stderr, "I'm wrong!\n");
∶ fprintf(stdout, "I'm right!\n");
∶ }
∶ 编译后运行 ./a.out 2>&1 >1.txt
∶ 如果如你所说,那么这应该表示把stderr重定向到stdout,
∶ 之后是否表示再将stdout重定向到1.txt?
∶ 如果是这样,1.txt中应为:I'm wrong!
∶ ...................
--
也许有一天,他再从海上蓬蓬的雨点中升起,
飞向西来,再形成一道江流,再冲倒两旁的石壁,
再来寻夹岸的桃花。然而,我不敢说来生,也不敢信来生......
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.73.87.125]
BBS水木清华站∶精华区