使用纯Scala API或Ammonite API

时间:2017-09-03 07:20:47

标签: scala ammonite

我想执行SSH命令,然后在scala中的远程计算机上执行一些命令。 scala API和Scala Ammonite都提供了执行系统命令的方法。但是我遇到了ssh的问题。我如何运行ssh命令然后运行命令并从我的scala程序中取回结果?

EDIT1

在帖子Problems using scala to remotely issue commands via ssh

中找到以下内容

" ssh user@Main.local' mkdir桌面/测试'"。!

我想知道如何使用scala Amonite API完成这项工作。我找不到方法。

2 个答案:

答案 0 :(得分:0)

到目前为止,我发现了我想要的Scala API: http://www.scala-lang.org/api/2.12.1/scala/sys/process/ProcessBuilder.html e.g。

 import scala.sys.process.ProcessBuilder  
 import scala.sys.process._ 
 import scala.sys.process

 "ssh 192.168.0.103  ls IdeaProjects" lineStream 

它作为一个魅力从我的一台机器执行到另一台它完美无瑕地工作。这需要提前设置无短语ssh。我在两台机器上使用同样的用途我也必须指定用户

如果有人可以补充答案,并解释如何使用非常棒的Ammonite API。

答案 1 :(得分:0)

您可以使用 Cable 来完成您的 SSH 任务, Cable 支持 ~/.ssh 配置以及全局 ssh 客户端配置。 Cable 还支持跳过网络,跳过堡垒主机。 Cable 允许在一个主机内以及跨多个不同主机组合任务。