我使用一些ssh exec插件对使用Maven在远程服务器上执行命令进行了一些研究。
让我感觉到的是,我需要运行一个命令来启动一些菜单驱动的程序来停止服务器,然后重新启动它。
我基本上必须按顺序执行以下任务:
./control
”)这两个命令只是数字,表示它在控制台上打印的菜单中的选项,如:
Enter the number of the server you wish to stop:
[1] server1
[2] server2
[3] server3
我会输入“2”例如。这可能吗?
答案 0 :(得分:0)
一种可能的解决方案是在远程服务器上编写一个Perl脚本,该脚本接受服务器编号作为参数。
然后,当提示输入时,您可以使用Perl的Expect.pm库为您的control
程序提供此参数。
这样就可以简化你的Maven任务,在远程服务器上执行脚本,这可能是你现在感谢你的研究。
(如果您以前没有使用它,Perl的Expect库就是针对这个用例而设计的 - 自动为交互式命令行程序提供输入。)