我目前正在编写一个脚本(使用BASH),用于将VM文件备份到远程服务器。
我想尝试通过"show VM命令“循环遍历每个VM,从而使脚本更具动态性。我的想法是将显示所有VM的命令的标准输出分解并将其转换为有用的变量。可能是一个多数组。
输出结果是这样的,有没有办法把它全部分解?比如空格和换行符?
Vmid Name File Guest OS Version Annotation
10 FREEPBX
我希望为我的概念脚本添加在一系列服务器上迭代相同命令循环的功能,而不是只在一台服务器上迭代。
在foreach循环中包含foreach循环是否安全。或者有其他方法可以做到这一点?
# Create an empty hash table for discovered virtual machines
my %virtual_machines = ();
my @getallvms = $ssh1->capture('vim-cmd vmsvc/getallvms');
# Remove first line from ESX\ESXi output
shift
在运行在Linux服务器上的bash脚本中,有一个指向特定路径的变量,让我们调用这个my-path。
my-path="/home/vMX-ENV/vMX-21.1R1/"
echo "The path is: $my-path"
...
在给定的变量my-path中,我正在寻找一种只显示版本号21.1R1的方法。
下面是我想要完成的事情的一个例子。
./script.sh
the path is: /home/vMX-ENV/vMX-21.1R1/
the version is: 21.1R1
有办法这样做吗?谢谢!
我试图通过ovftool自动将.vmx转换为.ova,而这些.vmx文件是从ghettoVCB生成的。因此,我正在编写一个脚本,以使转换自动化工作。
我的问题是如何编写一个shell脚本,从一个parent_directory遍历每个目录,并在每个目录中执行一个命令?或者可以将所有东西从最深的文件夹移到parent_directory?(此解决方案可能会花费时间将这些文件从最深的文件夹移动到parent_directory)。
目录结构如下: parent_directory/automation/automation-2016-04-18_19-08-32/automation.vmx pa