我有shell脚本,它保存在远程服务器(linux机器)上,我试图在从Windows执行各种SOAPui测试用例之间调用该shell脚本。 所以我准备了一个groovy脚本:
def command="/usr/bin/ssh -p password username@IP_address bash -s < /home/test.sh"
def proc=command.execute().text
proc.waitFor()
但不幸的是,我收到了一个错误:
java.io.IOException:无法运行程序“/ usr / bin / ssh”:CreateProcess error = 2,系统找不到指定错误的文件行:6
我试图在此搜索更多信息,但无法获得解决方案。一些链接是:
How to execute shell script using soapUI
http://groovy-lang.org/groovy-dev-kit.html#process-management
答案 0 :(得分:1)
如果您评论自己在Windows上安装了putty.exe
,则可以尝试使用以下内容。
首先在Windows本地创建一个文件,其中包含远程执行的命令,例如我创建了跟随C:/temp/commandsToRunRemotely.txt
,然后在此文件中输入您要执行的命令。作为示例,我使用以下命令:
echo "test remote execution" > /tmp/myfile.txt
然后从 SOAPUI 中的 groovy脚本调用putty.exe
,传递包含远程执行命令的本地文件:
def command = "C:/path/to/putty.exe -ssh user@IP -pw pass-m C:/temp/commandsToRunRemotely.text"
def proc = command.execute()
proc.waitFor()
请注意,如果您在Windows路径中putty.exe
,则只需使用putty.exe
而不是完整路径。
这只是一个ilustation示例,但是如果要在命令文件中远程执行shell脚本而不是echo "test remote execution" > /tmp/myfile.txt
,请直接使用脚本的路径:/home/test.sh
我从此nice answer
获取 Putty 命令行选项希望它有所帮助,