Perl 显示 Shell调用的打印信息,能不能实时显示
时间:2010-09-02
来源:互联网
我要做Daily Build工具
由于字符串较多,所以选择了Perl
Build过程中需要大量使用svn、gcc、make、zip和其他shell脚本
我当前使用类似下面的方式
复制代码
由于`$cmd`时间比较长,并且输出较多,当前不能立刻看到编译过程中的提示信息(如:警告信息)
请问有没有其他思路可以实现实时打印shell的的输出信息
由于字符串较多,所以选择了Perl
Build过程中需要大量使用svn、gcc、make、zip和其他shell脚本
我当前使用类似下面的方式
- $cmd="cd XXX && ./configure -DYYY && make clean all";
- print `$cmd 2>&1`;if($?!='0'){print "[Error:$?]$cmd\n";exit $?;}
- $cmd="/path/tools.sh"
- print `$cmd 2>&1`;if($?!='0'){print "[Error:$?]$cmd\n";exit $?;}
请问有没有其他思路可以实现实时打印shell的的输出信息
作者: net_robber 发布时间: 2010-09-02
个人觉得有两种办法:
1. 让cmd在后台执行,把的cmd的输出到一个文件,然后再去tail它,这个好像不是太好。
2.第二个就是把让cmd的输出输出到当前的显示设备:
复制代码
当前的显示设备是pts/3,我测试的语句是
复制代码
1. 让cmd在后台执行,把的cmd的输出到一个文件,然后再去tail它,这个好像不是太好。
2.第二个就是把让cmd的输出输出到当前的显示设备:
- topaz$who am i
- hpcyuhua pts/3 2010-09-02 11:28 (222.177.19.233)
- $cmd="echo 1 >/dev/pts/3; sleep 6; echo 2 >/dev/pts/3; sleep 6; echo 3 >/dev/pts/3";
- `$cmd`;
- topaz$perl cmd.pl
- 1
- 2
- 3
作者: cduedu 发布时间: 2010-09-02
只是要实时的看到执行的输出,为什么不用 system 呢,
作者: socyno 发布时间: 2010-09-02
回复 socyno
恩,开始还以为system和``的效果一样就没试。试了一下system可以实时得到输出结果。
恩,开始还以为system和``的效果一样就没试。试了一下system可以实时得到输出结果。
作者: cduedu 发布时间: 2010-09-02
多谢两位
2楼第二个方法和3楼的方法都可以,谢谢
2楼第二个方法和3楼的方法都可以,谢谢
作者: net_robber 发布时间: 2010-09-02
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28