I am trying to run a shell script from a Java code. At the moment I am providing data manually in the script, but I would like to be able to provide the variables from the Java
You can pass params to your shell script and use them inside de script, The Class ProcessBuilder have a constructor that take the command to execute and the list of parameters to pass to the executable :
ProcessBuilder(String... command)
you have to pass params like this :
ProcessBuilder pb = new ProcessBuilder("/home/najib/upload.sh",param1,param2,param3);
inside the script param1 is $1 , param2 is $2 , and param3 is $3 (you can pass in the constructor as many arguments as you want )