我正在使用Scala执行外部命令! REP方法,但不能捕获退出代码,
scala> import scala.sys.process._
import scala.sys.process._
scala> "ls -lrt CLSTM111.30.SUB#1.D160927.T030108.d.CLSLM001.cls_catg_lkup_EXT.stdout " .!
-rw-r--r-- 1 clsdusr clsdevl 38 Sep 27 03:01 CLSTM111.30.SUB#1.D160927.T030108.d.CLSLM001.cls_catg_lkup_EXT.stdout
res11: Int = 0
scala> println(exitCode)
<console>:35: error: not found: value exitCode
println(exitCode)
^
答案 0 :(得分:1)
退出代码是!
的返回值。你可以做到
val exitCode = "ls -lrt CLSTM111.30.SUB#1.D160927.T030108.d.CLSLM001.cls_catg_lkup_EXT.stdout ".!
println(exitCode)
答案 1 :(得分:0)
exitCode
中未定义scala.sys.process
,但!
的返回值。从您的REPL结果中res11
。 ProcessBuilder.!
的文档如下:
启动此构建器表示的进程,阻塞直到退出,并返回退出代码。标准输出和错误将发送到控制台。