从scala脚本执行unix命令

时间:2016-09-13 15:50:57

标签: scala unix

我不清楚从基于scala的脚本执行unix命令的最佳实践。

典型的scala脚本在这里

#!/bin/sh
exec scala "$0" "$0" "$@"
!#

println("args length is ", args.length)

### want to list all files in the underlying folder
val resultSet = "ls -la"????

我检查了很多帖子,但没有明确概述一个可以从scala脚本执行unix命令并执行一些转换的工作脚本。

2 个答案:

答案 0 :(得分:1)

导入scala.sys.process._并使用!!!执行linux命令

scala> import scala.sys.process._
scala> "ls -la" !
scala> "ls -la" !!

您也可以在scala script

中执行此操作 执行

后,

!返回命令的退出代码 执行

后,

!!返回命令的输出

  

解析"ls -la" !!的输出并获取当前目录中的文件。

答案 1 :(得分:1)

这是一个简单的脚本,可以帮助您入门。

#!/usr/bin/env scala
import scala.sys.process._

// args is auto-populated
println("arg len = " + args.length)

// get listing of current files
val files: Array[String] = "ls -a".!!.split("\n")
println("5th fiile is " + files(4))

System.exit(0)

研究标准库的process package,了解有关捕获流程输出,流程退出状态,流水线等的更多信息。

相关问题