Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从使用netbeans编写的java代码中访问shell脚本文件中的变量值_Java_Bash_Ubuntu 12.04_Netbeans 8 - Fatal编程技术网

如何从使用netbeans编写的java代码中访问shell脚本文件中的变量值

如何从使用netbeans编写的java代码中访问shell脚本文件中的变量值,java,bash,ubuntu-12.04,netbeans-8,Java,Bash,Ubuntu 12.04,Netbeans 8,我使用java和netbeans IDE创建了一个GUI,在该java代码中,我设置了一个变量path的值,该变量由目录路径组成,例如path=/home/usr/jai/newfolder,我有一个扩展名为.sh的shell脚本文件,其中提到了一个命令,该命令访问newfolder中提到的许多文件 我的问题是如何在shell脚本文件中使用path变量,这样我就可以访问newfolder中提到的所有文件,并使用java代码执行该文件,我知道如何使用java代码执行脚本文件,但我无法访问shell

我使用java和netbeans IDE创建了一个GUI,在该java代码中,我设置了一个变量
path
的值,该变量由目录路径组成,例如
path=/home/usr/jai/newfolder
,我有一个扩展名为
.sh
的shell脚本文件,其中提到了一个命令,该命令访问newfolder中提到的许多文件


我的问题是如何在shell脚本文件中使用
path
变量,这样我就可以访问newfolder中提到的所有文件,并使用java代码执行该文件,我知道如何使用java代码执行脚本文件,但我无法访问shell脚本文件中的变量值。

您可以获得environment的值类似Java的变量:

import java.util.Map;
公共类环境映射{
公共静态void main(字符串[]args){
Map env=System.getenv();
for(字符串envName:env.keySet()){
System.out.format(“%s=%s%n”,
我的名字,
env.get(envName));
}
}
}

然后将该变量值作为命令行参数传递给该shell脚本。

调用该脚本时,将该值作为参数传递给该shell脚本……并使用
$
在脚本中访问它,其中
n
是该变量在脚本参数中的位置。字符串cmnd1=path+“/test\u script\u gui.sh”; 系统输出打印LN(cmnd1);字符串cmnd2[]={cmnd1,path};尝试{Runtime.getRuntime().exec(cmnd2);}catch(IOException ex){Logger.getLogger(filedata.class.getName()).log(Level.SEVERE,null,ex);}下面给出的命令中,我必须使用变量路径来代替表示当前目录HVite-t1-D-A-H./work\u all\u 3\u train\u read\u test\u aprl\u 20145/hmm$I/macros-H./work\u all\u 3\u train\u read\u test\u aprl\u 20145/hmm$I/hmmdefs-S./test\u gui.list-C./analysis\u train.conf-I./test.mlf-I./work\u all\u 3\u train\u read\u test\u aprl\u 20145/hmm$i/recont\u test\u gui.mlf-o SWT-w path/wdnet.txt-p-10.0-s 0 path/dict.txt./hmmlist.txt。如何执行此操作??此命令在要使用变量路径的脚本文件中使用。将参数路径传递到脚本文件是否正确?如何在脚本文件中使用此参数
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));
        }
    }
}