在perl脚本中混合使用vboxmanage和bash命令

时间:2013-11-29 16:42:20

标签: linux perl bash virtualbox

我在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命令?

感谢。

1 个答案:

答案 0 :(得分:1)

您不需要重定向到文件:

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