免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: brantc
打印 上一主题 下一主题

[求助]如果一条print语句就可以把内容写在标准输出显示同时写入打开的文件 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-09-06 17:20 |只看该作者
回复  brantc


    # from Perl
  use Tee;
Kitaisky 发表于 2011-09-06 15:37



    我系统不能安装额外的perl模块,所以不能用CPAN的Tee了。。。

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
12 [报告]
发表于 2011-09-06 17:43 |只看该作者
我系统不能安装额外的perl模块,所以不能用CPAN的Tee了。。。
brantc 发表于 2011-09-06 17:20



   sub LOGprint{
     print STDOUT "@_";
     print MY_LOG "@_";
   }

   LOGprint "my message\n";

论坛徽章:
0
13 [报告]
发表于 2011-09-08 10:59 |只看该作者
sub LOGprint{
     print STDOUT "@_";
     print MY_LOG "@_";
   }

   LOGprint "my me ...
jason680 发表于 2011-09-06 17:43



    。。。。感谢!

但是我还有个问题,想不到好的办法:

因为我想把我在perl 里面执行system()的标准输出和标准错误输出都打印进入我的日志文件和终端,貌似不能两全。
我如果这样写: system("ls > $mylog 2>&1"),那终端就看不到错误输出(如果有的话);
我如果。。。。。

咦!有了,我可以试下在system里面使用tee,待我试试:)

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
14 [报告]
发表于 2011-09-08 11:10 |只看该作者
。。。。感谢!

但是我还有个问题,想不到好的办法:

因为我想把我在perl 里面执行system( ...
brantc 发表于 2011-09-08 10:59


看来你就好好写你的shell script就好了.
(没看到你用到Perl的地方...)

论坛徽章:
0
15 [报告]
发表于 2011-09-08 12:11 |只看该作者
回复 13# brantc


    你可以先看一下书吗?

论坛徽章:
0
16 [报告]
发表于 2011-09-08 12:52 |只看该作者
看来你就好好写你的shell script就好了.
(没看到你用到Perl的地方...)
jason680 发表于 2011-09-08 11:10



    您说得太对了。。。。

论坛徽章:
0
17 [报告]
发表于 2011-09-08 12:55 |只看该作者
回复  brantc


    你可以先看一下书吗?
Perl_Er 发表于 2011-09-08 12:11



    o(╯□╰)o我在看书的。。。但是问题比较急,所以只好发帖借大家的智慧了,惭愧了。。。

论坛徽章:
0
18 [报告]
发表于 2011-09-08 13:14 |只看该作者
回复 14# jason680


    FAQs里面有你这个问题的答案

论坛徽章:
0
19 [报告]
发表于 2011-09-08 14:15 |只看该作者
本帖最后由 brantc 于 2011-09-08 14:17 编辑
回复  jason680


    FAQs里面有你这个问题的答案
Perl_Er 发表于 2011-09-08 13:14



    perl faq5?。。。How do I print to more than one file at once?

论坛徽章:
0
20 [报告]
发表于 2011-09-08 18:47 |只看该作者
1. if you are dealing with complicated log mechanism, check out
  1. Log::Perl4log
复制代码
2. To install your own perl installation and leave system perl along, check out perlbrew

3. system won't return the command output, use qx or `` instead, read the result from qx and `` and write to the file you want.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP