没有从〜/ .bash_profile

时间:2016-09-09 00:48:50

标签: java bash shell

我正在使用RedHat Linux bash命令提示符。我的要求是使用以下代码片段运行命令,其中命令可以是命令提示符允许的任何内容,例如:javac等。

Process p = Runtime.getRuntime().exec(command);

现在我通过编辑〜/ .bash_profile文件在PATH变量中设置了命令bin目录

export PATH=$PATH:<my commands bin directory>

当我通过打开一个新的命令提示符手动运行命令时,它运行得很好,但是当我尝试使用process命令运行它时,它失败,因为PATH变量没有我的命令bin目录。

似乎是“Runtime.getRuntime()。exec(command);”调用一个新的bash shell,它不包含或读取〜/ .bash_profile文件。 我还验证了手动运行和使用java代码时用户是一样的。

有人能指出这里有什么问题吗?

1 个答案:

答案 0 :(得分:-1)

Runtime.getRuntime().exec()默认情况下不会搜索PATH。您将需要找到一个不同的方法为您执行此操作或通过加载PATH自己实现它,可能解析它,然后迭代它以查找可执行文件。