Process p = Runtime.getRuntime().exec("sh somescript.sh &> out.txt");
I am running this command using Java. The script is running but it's not redirecting its stream to the file. Moreover, the file out.txt
is not getting created.
This script runs fine if I run it on shell.
Any ideas?
When you run a command, there is no shell running and any shell commands or functions are not available. To use something like
&>
you need a shell. You have one but you are not passing it to it. try instead.You need to use
ProcessBuilder
to redirect.