2016-04-29 13 views
1

ich echo 'obase=94; 100' | bc >>out.txt dass ausführen wollen, denn ichAusführen von echo-Befehl in Process

String[] cmd = {"echo" , "'obase=94; 100'" , " | bc"}; 
new ProcessBuilder().command(cmd).redirectOutput(ProcessBuilder.Redirect.appendTo(new File("out.txt"))).start(); 

Innen out.txt verwendet habe ich sehe 'obase=94; 100' | bc' statt 01 06

Wo ich falsch gehe?

Antwort

3

| muss von einer Shell interpretiert werden.

String[] cmd = {"bash", "-c", "echo 'obase=94; 100' | bc"}; 
+0

Es hat funktioniert. Aber kannst du es im Detail erklären? Ich meine, was 'bash' und' -c' tun, wie es funktioniert usw. –