我对这些东西还很陌生,我一直在编写一个简单的 Perl 脚本,每隔几秒使用 Capture::Tiny 中的捕获功能轮询服务器的 iostat -k -x 数据
脚本可以运行,但是显示的数据被截断了。如果我正常执行 iostat -k -x,就不会发生这种情况
这只是在一分钟的时间内显示n次数据。
脚本代码、iostat -k -x 输出、使用poll脚本时的输出如下: http://pastebin.com/K1AnqskU
任何帮助,将不胜感激!
答案1
这里有一位哥们儿帮了 JP 一点忙。我们现在知道了。
Capture::Tiny 运行良好,并且反引号的功能与 Capture::Tiny 完全相同。
问题很简单,他在命令行中使用的破折号是unicode,所以shell简单地忽略了它们。:)
答案2
看来,您的脚本中的“-”字符有问题。
如果我将“iostat -k -x”从您的示例中复制粘贴到我的终端,它会产生截断的输出。如果我手动输入相同的内容,则输出是正确的。
PS 由于您忽略了 stderr 输出,因此您可以使用
$stdout = `iostat –k –x`;