我正在通过 ssh 运行 perl 脚本,如下所示:
[dipuh@local ~]$ ssh dipuh@myremote_001 'perl /home/dipuh/a.pl'
a.pl的内容如下:
print "Sleeping \n";
sleep(60);
print "Waking Up";
这里我的本地终端等待 perl 脚本完全执行,完成后显示完整的输出。最初的“ sleep ”文本也将仅与最终输出一起打印。
有什么办法,在我的本地终端中,我可以在运行时显示 perl 脚本中每个命令的输出,而不是等待整个 perl 脚本完成。
最佳答案
您可以将 block 的 $|
设置为 1
。
{
local $| = 1;
print "Sleeping \n";
sleep(60);
print "Waking Up";
}
或者使用 IO::Handle
use IO::Handle;
STDOUT->autoflush(1);
关于perl - 在运行时通过 SSH 显示命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39657317/