gpt4 book ai didi

batch-file - 将参数从命令提示符传递到远程 ubuntu 机器

转载 作者:行者123 更新时间:2023-12-02 03:50:58 25 4
gpt4 key购买 nike

我正在尝试将参数传递给要在远程计算机上执行的本地脚本。该脚本工作正常,因为我已经测试过它手动传递变量。我正在尝试为此使用 plink。我接受用户名(arg 传递给脚本)并需要通过 plink 将其与脚本一起发送。我使用的命令是:

plink.exe ubuntu@192.168.198.128 -m "myLocalScript.ksh"   

我也试过:

plink.exe ubuntu@192.168.198.128 -m "myLocalScript.ksh %username%"   

plink.exe ubuntu@192.168.198.128 -m %username% < "myLocalScript.ksh"

我试过通过管道输入参数,并将它们添加到命令等的不同位置。有谁知道我怎样才能做到这一点?

编辑:我从 cmd.exe 而不是 cygwin 使用它。他们的 -m 选项执行以下操作:

-m file   read remote command(s) from file

最佳答案

-m 选项没有传递属性的机制,它只是按原样运行文件。问题是您的 korn shell 脚本在本地端没有解释器,因此在您的 Windows 端没有此机制,但请尝试这样做:

plink ubuntu@192.168.198.128 "tr -d '\r'| ksh -s %username%" < myLocalScript.ksh 

最好让主调用更具可读性:

call :remotecmd ubuntu@192.168.198.128 myLocalScript.ksh %username%


exit /B
:remotecmd
setlocal
for /f "tokens=2,*" %%i in ("%*") do set options=%%j
plink %1 "tr -d '\r'| ksh -s %options%" < %2
endlocal
exit /B

该命令现在已通用化以处理任意数量的附加开关。

关于batch-file - 将参数从命令提示符传递到远程 ubuntu 机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14363360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com