java运行bash脚本,找不到命令

时间:2016-05-29 18:58:24

标签: java bash scripting command

我尝试使用java运行一些bash脚本并将终端输出存储在一个字符串中。但是,有很多命令不能以这种方式工作。它一直显示未找到的命令,但我可以在终端中正确运行这些命令,ex node --version,go --version。我想是路径问题,但不知道如何解决它。

另一个问题,当我运行“python --version”时,它会显示“Python 2.7.10”,但它位于getErrorStream中。谁能给我一些提示?

package com.mvc.demo;

public class Emp {
     private String name;
     private String password;

     public String getName() {
         return name;
     }

     public void setName(String name) {
         this.name = name;
     }

     public String getPassword() {
         return password;
     }

     public void setPassword(String password) {
         this.password = password;
     }

} 

1 个答案:

答案 0 :(得分:0)

回复@VishalKamat评论 当我尝试使用“which node”的输出作为我的路径时,即“/ usr / local / bin / node”。它有效!!!
但是,这是否意味着我需要在需要获取不同的应用程序版本信息时更改路径? 我以为我可以像在终端那样轻松获取信息。

我尝试用这种方式用java打印$ PATH

String[] commands = { "/bin/bash","-c", "$PATH" };

错误消息是:

/bin/bash: /usr/bin:/bin:/usr/sbin:/sbin: No such file or directory