我有一個在幾個平臺(特別是Windows,Solaris & AIX)上運行的Java「代理程序」。我想通過在我執行的命令行中使用環境變量來分析文件系統結構中的差異。Java Runtime.exec運行的命令中的環境變量評估()
據我所知,沒有辦法讓Runtime.exec()
方法來解析/評估命令String(或String數組)中引用的任何環境變量。
我知道,如果推動推動我可以寫一些代碼來預處理命令字符串和手動解決環境變量(使用getEnv()
等)。不過,我想知道是否有更聰明的方法來做到這一點,因爲我確信我不是唯一想做這件事的人,我確信在「敲」我自己的實施方面存在缺陷。
我們非常歡迎您的指導和建議。
編輯: 我想使用一些一致的符號(如$ VAR和/或%VAR%)在命令字符串中引用環境變量。沒有融化哪個。
編輯: 要清楚,我想能夠執行一個命令,例如:
perl $SCRIPT_ROOT/somePerlScript.pl args
在Windows和UNIX主機使用Runtime.exec()
。我在配置文件中指定了描述要運行的作業列表的命令,並且它必須能夠跨平臺工作,因此我認爲環境變量將有助於分析文件系統差異(/home/username/scripts
vs C:\foo\scripts
)。希望有助於澄清它。
謝謝。 Tom
你是如何解決這些問題的?在傳遞給'Runtime.exec()'的命令字符串中使用'$ VAR'的Unix shell方法? – 2010-01-19 02:40:53
@凱文 - 是的。理想的情況下。 – 2010-01-19 02:51:34