我在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` );