尝试运行远程Linux脚本时出现奇怪的plink.exe / virsh行为

时间:2019-12-24 16:17:53

标签: bash batch-file kvm virsh

像每个人和他们的狗一样,我正在运行Windows VM以在Linux装备上进行游戏。

现在,我想共享键盘和鼠标,因此我制作了两个脚本,我们称它们为Attach_usb.sh和detach_usb.sh。它们都可以按预期工作,即使通过plink控制台调用到主机(如此远程)时也是如此。 detach_usb.sh使用以下命令:

#!/bin/bash
virsh detach-device winVM --file /home/user/mouse.xml> --current

在通过腻子或plink控制台执行时有效。

现在,我在Windows guest虚拟机上有一个bat文件,当我想切换回主机时,该文件会调用detach_usb.sh。

.bat文件的内容 plink.exe -batch user@1.2.3.4 -i "privatekey.ppk" /home/user/detach_usb.sh

执行此操作会产生以下错误:

error: failed to get domain 'winVM'

这是virsh生成的错误。

仅运行: plink.exe -batch user@1.2.3.4 -i "privatekey.ppk"

通过执行.bat文件,它会打开一个控制台,然后手动执行/home/user/detach_usb.sh可以正常工作。

我以前从未使用过这种组合,而且我对为什么键入命令并按Enter时该命令起作用的原因感到困惑,但是当我通过批处理文件调用相同的.sh时却给出了以上错误。

我尝试在plink中使用-m选项,仅将命令保存在Windows guest虚拟机上的.txt文件中,但这会产生相同的错误。

不知道我在想什么。一定很傻,但是我没看到。

0 个答案:

没有答案