Java 在ProcessBuilder中执行echo命令
我想执行Java 在ProcessBuilder中执行echo命令,java,Java,我想执行echo'obase=94;100'| bc>>out.txt我已经用过了 String[] cmd = {"echo" , "'obase=94; 100'" , " | bc"}; new ProcessBuilder().command(cmd).redirectOutput(ProcessBuilder.Redirect.appendTo(new File("out.txt"))).start(); Insideout.txt我看到了obase=94;100'| bc'而不是0
echo'obase=94;100'| bc>>out.txt
我已经用过了
String[] cmd = {"echo" , "'obase=94; 100'" , " | bc"};
new ProcessBuilder().command(cmd).redirectOutput(ProcessBuilder.Redirect.appendTo(new File("out.txt"))).start();
Insideout.txt
我看到了obase=94;100'| bc'而不是01 06
哪里出了问题?
|
需要由shell进行解释
String[] cmd = {"bash", "-c", "echo 'obase=94; 100' | bc"};
成功了。但你能详细解释一下吗?我的意思是
bash
和-c
做什么,它是如何工作的等等。