我在ubuntu 12.04上使用virtualbox来运行虚拟机。我正在尝试使用vboxmanage通过cli执行virtualbox命令。我想将它的输出捕获到一个文本文件中,因此我编写了以下内容:

use warnings;
use strict;
use File::Slurp;

my $vmname = <STDIN>;

system("vboxmanage showvminfo $vmname | > vminfo.txt");
my @vminfo = read_file('vminfo.txt');
print @vminfo;

然而,什么也没发生。当我打开vminfo.txt时,它是空的。它应该包含很多关于vm的信息。
甚至可以提交这样的命令吗?我知道使用vboxmanage作为前缀可能会有问题。有没有一种方法可以在同一行上转义该命令并提交bash命令?
谢谢。

最佳答案

不需要重定向到文件:

chomp( my @vminfo = `vboxmanage showvminfo $vmname` );

10-07 14:57