我在 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