我想将Scala变量设置为环境变量,并在shell脚本中获取该变量。
设置环境变量
scala.sys.process.Process
的同伴对象有几个apply
工厂方法,允许您指定各种参数,例如
- 传递给可执行文件 的参数
- 已启动进程的当前工作目录
- 额外的环境变量 例如:
import scala.sys.process.Process
import java.io.File
Process(
List("bash", "-c", """echo "pwd=$(pwd) FOOBAR=${FOOBAR}";"""),
Some(new java.io.File("..")),
"FOOBAR" -> "42"
).!!
将启动当前工作目录的父目录中的bash
,并将附加的环境变量FOOBAR
设置为"42"
。
获取环境变量
的工作方式与Java的System.getenv
完全相同。
例如,如果您使用
从终端启动scala
/scala3
BARFOO="someValue" scala3
,然后在Scala-REPL中运行
System.getenv("BARFOO")
则返回
"someValue"