2014-01-07 95 views
0

有沒有辦法通過Ruby永久更新系統的PATH變量?我有以下幾點:Ruby:我可以更新系統環境變量嗎?

envPath = ENV["PATH"].dup 
if envPath.include? "C:\\oracle\\product\\11.2.0\\client_1\\bin;" then 
    envPath.slice! "C:\\oracle\\product\\11.2.0\\client_1\\bin;" 
    ENV["PATH"] = envPath 
    puts ENV["PATH"] 
end 

這成功地消除我想變,但只適用於當前窗口 - 不會永久。

+0

看起來我可以通過調用[SETX]來實現它(http://stackoverflow.com/questions/3835518/can-a-script-bat-make-changes-to-windows-path-environment-variable) – MrDuk

+0

涼。我不知道'SETX'。 :) – lurker

回答

1

這更多的是關於一般計算和過程行爲的問題,而不是ruby的特殊問題。

不是在運行時期間不可能的。只有父進程可以在開始之前配置它的子進程的環境。任何操作系統都不支持在運行時更改父進程或其他進程的環境。

相關問題