如何在ssh中将参数传递给批处理文件?

问题描述

我正在尝试从命令在远程计算机上运行

sshpass -p 'password' ssh username@server < abc.bat

我想向我的批处理文件发送参数。

sshpass -p 'password' ssh username@server < abc.bat variable1

我收到错误消息

'variable1' is not recognized as an internal or external command,operable program or batch file

在我的批处理文件中,我想阅读此variable1并将其传递给我用作参数的一个exe。

set var1=%1
xyz.exe %var1%

有人可以帮忙吗

解决方法

ssh username@server "abc.bat variable1"

该命令将运行abc.bat并提供variable1作为第一个参数。

但是,请注意不要链接诸如sshpass之类的命令。在以下示例中,

sshpass -p 'password' ssh username@server "abc.bat variable1"

"abc.bat variable1"sshsshpass的自变量吗?我不知道,我不使用sshpass,但这是一种可能发生的混乱。