是否有OS命令来查找Tomcat6使用的Java版本?我需要使用Perl(包括system())命令.
我用的是Linux.Ubuntu和CentOS
有类似的东西吗?
tomcat6 version
Run Code Online (Sandbox Code Playgroud) 我使用lib ReadLine和lib Perl Readline工作了一下.
但是,Perl调试器拒绝保存会话命令行历史记录.
因此,每次调用调试器时,我都会失去以前的所有历史记录.
有谁知道如何让Perl调试器保存,并希望附加类似于bash的会话历史记录HISTORYFILE?
如果我注释掉Dumper($cmd_string)那么while循环永远不会被采用.
Dumper()对$ cmd_string有什么副作用?
以下是$ cmd_string在子调用之前的内容:
VAR1 = {
'The Java Runtime Library' => {
'apt-get install -y' => 'sun-java6-jre'
}
};
sub installPackages
{
my $cmd_string = shift;
my %rc_hash;
my $rc;
Dumper($cmd_string);
for my $desc (keys %{$cmd_string})
{
while (my ($cmd, $arg) = each %{$cmd_string->{$desc}})
{
print "system($cmd $arg)\n";
$rc = system("$cmd $arg");
if ($rc)
{
$rc_hash{$desc}{$cmd} = '';
}
}
}
return \%rc_hash;
}
Run Code Online (Sandbox Code Playgroud)
如果我在没有Dumper()的情况下运行Perl调试器并在$ cmd_string上使用x命令,那么它可以正常工作,但是如果我只是单步执行代码它就不起作用.
这是仅仅通过sub末尾的代码
DB<3> x $cmd_string
0 HASH(0x2769550)
'' => …Run Code Online (Sandbox Code Playgroud) 我想要一个获取Perl输出的进度指示器
system('make')
Run Code Online (Sandbox Code Playgroud)
并且对于从make命令输出到STDOUT的每一行,我想输出一个点作为进度指示器.不幸的是,我正在使用Term :: ReadLine :: Gnu Perl mod.
在make命令运行时,如何重定向STDOUT以捕获和计算行?
我想通过在每次测试开始时输出到STDOUT来跟踪Grails Spock集成测试的进度.因此,在测试运行时,从服务和控制器输出的日志数据和显示测试开始的输出都是混合的.
例:
开始测试1
2012-02-09 13:01:41,375 [main] DEBUG - Adding included service vertex 2 to DAG
2012-02-09 13:01:41,377 [main] DEBUG - Adding this service vertex 4f34262584ae3fec6cc2d0f0 to DAG
Run Code Online (Sandbox Code Playgroud)
开始测试2
2012-02-09 13:01:41,377 [main] DEBUG - Connecting included service vertex 4f34262584ae3fec6cc2d0f0 to 2
2012-02-09 13:01:41,379 [main] DEBUG - Added all the edges to the DAG for this service 4f34262584ae3fec6cc2d0f0
Run Code Online (Sandbox Code Playgroud)
开始测试3
...