【发布时间】:2014-09-04 10:19:22
【问题描述】:
我有以下 perl 脚本,它将命令的输出保存到文本文件中
#!/usr/bin/perl
use warnings;
use strict;
use Term::ANSIColor;
my $cmd_backupset=`ssh user\@ip 'dsmadmc -id=username -password=passwd "q backupset"' >> output.txt`;
open CMD, "|$cmd_backupset" or die "Can not run command $!\n";
print CMD "\n";
close CMD;
output.txt 的输出是这样的:
Text Text Text
...
more... (<ENTER> to continue, 'C' to cancel)
脚本仍在终端中运行,当我按下回车键时,output.txt 文件会获取额外信息。但是,我必须按 Enter 30 次以上才能获得完整的输出。有没有办法自动化脚本,所以当 output.txt 中的最后一行是 more... 时,它会模拟按 Enter 键?
我已尝试使用Expect(无法安装)和echo -ne '\n'
【问题讨论】:
-
尝试通过管道将
yes ""发送到您的命令以发送 Enter - 在终端提示符下进行测试,只需先输入 - 按 Ctrl-C 即可中止。
标签: perl enter keystroke simulate