批处理文件中的 VboxManage

批处理文件中的 VboxManage

我在 Windows 批处理文件中有以下命令,每当我运行上述批处理 (ipconfig.bat) 来获取我的 Linux VM 的 IP 时,它都会输出 IP 正常但不会结束批处理文件,我必须按 Control + C,然后按“y”来结束批处理文件。即使添加后@exit它也不会退出。

VBoxManage --nologo guestcontrol execute "nixvm" "/root/scripts/ipconfig.sh" --username root --password mypassword --verbose --wait-for stdout @exit

有什么建议 ?

Bash 脚本(由 Windows 批处理文件执行)

#!/bin/bash
echo "IP Address of "LinuxVM"
ifconfig eth0 | egrep '(inet addr|RX bytes|TX bytes)'
sleep 1s
#echo "MySQL Service Status"
service mysql status
chkconfig mysql --list
sleep 1s
#echo "Displaying MySQL DBs"
mysqlshow -uroot -pmypassword

Windows 批处理文件

VBoxManage --nologo guestcontrol execute "LinuxVM" "/root/scripts/ipconfig.sh" --username root --password password --verbose --wait-for stdout

答案1

您可以使用--timeout以毫秒为单位的超时时间告诉 VBoxManage 等待脚本退出的时间。

VBoxManage --nologo guestcontrol execute "nixvm" "/root/scripts/ipconfig.sh" --username root --password mypassword --verbose --timeout 10000 --wait-for stdout

相关内容