2017-03-07 24 views
0

朋友,斯卡拉:無法設置環境變量

我試圖設置環境變量「ASDF」在我的斯卡拉殼,如所描述here

這是我的命令:

scala> import scala.sys.process.Process 
import scala.sys.process.Process 

scala> Process(Seq("bash", "-c", "echo $asdf"), None, "asdf" -> "Hello, world!").! 
Hello, world! 
res18: Int = 0 

但是,當我嘗試讀取環境變量回:

scala> sys.env.get("asdf") 
res19: Option[String] = None 

輸出顯示「無」。如何在當前會話中正確設置我的環境變量

PS - 請不要低估這一點;我努力嘗試,但無法超越我的問題

回答

0

Scala/Java進程不允許修改自己的環境。您可以使用scala.util.Properties對象來檢查環境變量和屬性。 (文檔是here。)可以添加/刪除/更改屬性,但環境不能。

1

它與Scala無關,你只是誤解了這種情況。在該行的末尾地圖

scala> Process(Seq("bash", "-c", "echo $asdf"), None, "asdf" -> "Hello, world!").! 

不會改變的這個過程中,你輸入到一個環境;它會更改Process()函數創建的子進程的環境。

+0

有沒有辦法爲**當前**進程設置我的環境變量? –

+0

@JimitRaithatha - nope – Malvolio