Java中如何执行source命令,在Java中运行UNIX Source命令
這是我關(guān)于stackoverflow的第一個問題,所以我會盡量保持簡潔和相關(guān).
我正在創(chuàng)建一個試圖調(diào)用位于系統(tǒng)上的外部程序的Java程序,為了做到這一點(diǎn),我需要調(diào)用一個shell腳本來設(shè)置相關(guān)庫的鏈接,以確保系統(tǒng)是鏈接的在執(zhí)行外部程序之前執(zhí)行這些操作.
手頭的問題是我無法通過Java調(diào)用shell腳本,我已經(jīng)研究過高低,并且意識到使用ProcessBuilder類等替代方法.不幸的是,我對嘗試通過Java調(diào)用命令行語句的世界很新,所以我很難找到答案.
我正在使用的代碼示例如下:
private void analyse_JButtonActionPerformed(java.awt.event.ActionEvent evt) {
// Get project path for copying of Fortran program to folder and execution
String projectPath = Newproject_GUI.getProjectPath();
String sourcePath [] = {"/bin/sh ", "-c ","source ~/set_env_WRF_gnu.sh"} ;
Runtime fortranAnalyser = Runtime.getRuntime();
try {
Process p = fortranAnalyser.exec("cp main.exe " + projectPath);
Process k = fortranAnalyser.exec(sourcePath);
BufferedReader is = new BufferedReader(new InputStreamReader(k.getInputStream()));
String line;
while ((line = is.readLine()) != null) {
System.out.println(line);
}
} catch (IOException ex) {
Logger.getLogger(Analyser_GUI.class.getName()).log(Level.SEVERE, null, ex);
}
}
進(jìn)程p工作正常,并且在調(diào)用方法時確實將main.exe復(fù)制到目標(biāo)目錄.然而,過程k沒有,這就是問題所在.
提前致謝.
總結(jié)
以上是生活随笔為你收集整理的Java中如何执行source命令,在Java中运行UNIX Source命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 退伍军人的媳妇算不算军人家属?
- 下一篇: 世界上最稀有的兵种是什么?