Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用多个选项卡启动MobaXterm的批处理脚本_Batch File_Ssh - Fatal编程技术网

Batch file 使用多个选项卡启动MobaXterm的批处理脚本

Batch file 使用多个选项卡启动MobaXterm的批处理脚本,batch-file,ssh,Batch File,Ssh,我是批处理的新手,所以我非常感谢您的帮助 目标是在同一个窗口(不同的选项卡)上启动带有X个SSH会话的MobaXterm 这是代码中的相关部分: set n=0 for %%a in (%name%) do ( set n+=1 set "name[!n!]=%%~a" start MobaXterm_Professional_9.1.exe -newtab -exec "waitforX; ssh -i %key% %user%@%%~a" ECHO name

我是批处理的新手,所以我非常感谢您的帮助

目标是在同一个窗口(不同的选项卡)上启动带有X个SSH会话的MobaXterm

这是代码中的相关部分:

set n=0
for %%a in (%name%) do (
    set n+=1
    set "name[!n!]=%%~a"
    start MobaXterm_Professional_9.1.exe -newtab -exec "waitforX; ssh -i %key% %user%@%%~a"
    ECHO name is %%~a
    timeout /t 5
)
这样,我就可以打开第一个ssh会话,但对于其余会话,我在每个会话中都会收到一个错误,即“/bin/bash:-c:option需要一个参数”

如果删除“开始”和“超时”,则仅打开第一个会话,因为ssh不在后台运行。

不应同时使用newtab和exec命令行。所以语法是
start MobaXterm\u Professional\u 9.1.exe-newtab“waitforX;ssh-i%key%%user%@%%~a”
有效。

Try
start”“MobaXterm…
第一个会话很好,但对于其他会话,我会得到相同的错误/bin/bash:-c:选项需要一个参数这听起来更像是知道如何使用软件的问题,这意味着这不是编码问题,也不属于堆栈溢出。请尝试使用
start
命令执行
echo
。我们对
name
的内容没有任何线索,
name
似乎在
start
操作中没有任何作用。您的代码应该获取
name
的元素,并将它们记录在
name[1]…name[n]
中,无需识别。需要更多信息…@Magoo'name'是我试图通过ssh连接到的ip地址/DNS,其值由%%a接收。所以我认为%%~a具有相同的name[n]值