我不清楚从基于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命令并执行一些转换的工作脚本。
答案 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,了解有关捕获流程输出,流程退出状态,流水线等的更多信息。