【问题标题】:Execute external command执行外部命令
【发布时间】:2013-04-16 06:17:51
【问题描述】:

不知道是Scala还是Play!题。我想从我的 Play 应用程序执行一些外部命令,从命令中获取输出并根据命令输出向用户显示报告。有人可以帮忙吗?

例如,当我从 shell 输入 my-command 时,它会显示如下输出,我想捕获并在 web 中显示:

Id    Name   IP
====================
1     A      x.y.z.a
2     B      p.q.r.s

请不要担心输出的格式和解析。在功能上,我看起来像 PHP exec。我知道 java Runtime.getRuntime().exec("command"),但是有没有 Scala/Play 版本可以达到这个目的?

【问题讨论】:

    标签: scala playframework exec


    【解决方案1】:

    Scala process package 的方法!! 可以满足您的需求,它执行语句并捕获文本输出。例如:

    import scala.sys.process._
    val cmd = "uname -a" // Your command
    val output = cmd.!! // Captures the output
    

    【讨论】:

    【解决方案2】:
    scala> import scala.sys.process._
    scala> Process("cat temp.txt")!
    

    这假设您的主目录中有一个临时文件。 ! 用于实际执行命令。有关详细信息,请参阅 scala.sys.process。

    【讨论】:

      【解决方案3】:

      您可以使用Process 库:例如

      import scala.sys.process.Process
      Process("ls").!!
      

      以字符串形式获取文件夹中的文件列表。 !! 获取命令的输出

      【讨论】:

        猜你喜欢
        • 2013-11-09
        • 1970-01-01
        • 2014-02-13
        • 2011-08-15
        • 1970-01-01
        • 2012-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多