此处报告执行外部命令为了在Scala中运行外部shell命令或脚本,正确的代码应该是:
import scala.sys.process._
val cmd = "ls -l /home" // Your command
val output = cmd.!! // Captures the output
我注意到这适用于某些命令,但不适用于其他命令,如"java -version"
(尤其是如果它们在参数前有短划线"-"
(
有没有正确的方法来执行像"python --version"
这样的命令或像"python /path/to/my_script.py -x value -y value"
这样更复杂的python脚本?
似乎可以使用短划线
$ scala
Welcome to Scala 2.13.6 (Eclipse OpenJ9 VM, Java 1.8.0_292).
Type in expressions for evaluation. Or try :help.
scala> import scala.sys.process._
import scala.sys.process._
scala> "java -version".!!
openjdk version "1.8.0_292"
...
scala> "python3 --version".!!
val res1: String =
"Python 3.8.5
"