当前位置: 技术问答>linux和unix
应该怎么绕过重定向符(>)!!??
来源: 互联网 发布时间:2015-05-13
本文导语: myprom > myprom.log myprom的功能是:既向stdout输出信息, 又通过重定向把信息输到log文件中。 但如果我用了重定向符(>)时,stdout就没有信息输出了,我该怎么作呀! 斑竹 :Unix命令 tee 我也试了,只要用了(>)号,就只向lo...
myprom > myprom.log
myprom的功能是:既向stdout输出信息, 又通过重定向把信息输到log文件中。
但如果我用了重定向符(>)时,stdout就没有信息输出了,我该怎么作呀!
斑竹 :Unix命令 tee 我也试了,只要用了(>)号,就只向log文件输信息。!
|
用管道符号:
myprom | tee myprom.log
myprom | tee myprom.log
|
>>myprom > myprom.log
>>myprom的功能是:既向stdout输出信息, 又通过重定向把信息输到log文件中。
>>但如果我用了重定向符(>)时,stdout就没有信息输出了,我该怎么作呀!
你的程序myprom是有标准输出(stdout)的,但是你把它重定向到myprom.log文件中去了。
如果你的程序有错误输出(stderr)的话,是不会在文件myprom.log中显示的,因为myprom.log只接受标准输出。
如果在程序myprom中,你已经写了“>”来重定向输出的话,就没有必要再 myprom > myprom.log 了。
>>myprom的功能是:既向stdout输出信息, 又通过重定向把信息输到log文件中。
>>但如果我用了重定向符(>)时,stdout就没有信息输出了,我该怎么作呀!
你的程序myprom是有标准输出(stdout)的,但是你把它重定向到myprom.log文件中去了。
如果你的程序有错误输出(stderr)的话,是不会在文件myprom.log中显示的,因为myprom.log只接受标准输出。
如果在程序myprom中,你已经写了“>”来重定向输出的话,就没有必要再 myprom > myprom.log 了。
|
再 myprom 代码中
添加 close(1); // stdout的描述符 为 1
dup(fd); //这里 fd 为 myprom.log 的文件描述符
// 在 里面
close(fd);
write(1, .....);
是不是 就可以 同时 向stdout 和 fd 输出??
添加 close(1); // stdout的描述符 为 1
dup(fd); //这里 fd 为 myprom.log 的文件描述符
// 在 里面
close(fd);
write(1, .....);
是不是 就可以 同时 向stdout 和 fd 输出??
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。