2014-07-04 59 views
1

我已經創建了一個使用java和netbeans IDE的GUI,在那個java代碼中我設置了一個變量的值path,它由目錄的路徑組成,例如path=/home/usr/jai/newfolder,我有一個擴展名爲.sh的shell腳本文件,因爲提到了一個命令,它可以訪問新文件夾中提到的許多文件。如何從使用netbeans編寫的java代碼訪問shell腳本文件中的變量值

我的問題是如何在該shell腳本文件中使用path變量,以便我可以訪問在newfolder中提及的所有文件並使用java代碼執行該文件,並且知道如何使用java代碼執行腳本文件,但我無法訪問shell腳本文件中的變量值。

+2

當您調用它時,將該值作爲參數傳遞給shell腳本。 – Henry

+1

...並使用'$ '在腳本中訪問它,其中'n'是變量位於腳本參數中的位置。 – A4L

+0

String cmnd1 = path +「/ test_script_gui.sh」; System.out.println(cmnd1); String cmnd2 [] = {cmnd1,path}; try {Runtime.getRuntime()。exec(cmnd2); (Log.getLogger(filedata.class.getName()).log(Level.SEVERE,null,ex); } – user77

回答

1

你可以得到環境變量的值在Java中,如:

Ref:

import java.util.Map; 

public class EnvMap { 
    public static void main (String[] args) { 
     Map<String, String> env = System.getenv(); 
     for (String envName : env.keySet()) { 
      System.out.format("%s=%s%n", 
           envName, 
           env.get(envName)); 
     } 
    } 
} 

然後通過該變量的值作爲命令行參數傳遞給shell腳本。

相關問題