A friendly place for Java greenhorns!
Java
Ranch
»
JavaRanch Saloon
Search
|
FAQ
|
Recent Topics
|
Hot Topics
Register
/
Login
Java
Ranch
»
Forums
»
Other Languages
»
Groovy
Author
Proc.exec() with spaces in command
Kristian Jones
Greenhorn
Joined: Jun 26, 2008
Messages: 6
posted
Dec 16, 2009 13:10:30
Hi
I am trying to execute a command from within a groovy script. For instance
md5sum /home/user/some file name with a space
but any filename with a space is giving an error. I've tried the following without success.
def md5cmd = "md5sum $fileName"
Process proc = md5cmd.execute()
and
def md5cmd = "md5sum \"$fileName\""
Does anyone have any suggestions on how I can pass build up an argument list that will prevent the No such file or directory.
Note:
OS is ubuntu linux
I would be greatful for any suggestions
Ivan Krizsan
Ranch Hand
Joined: Oct 04, 2006
Messages: 960
posted
Dec 18, 2009 02:29:10
Hi!
The solution to your problem (at least a solution that works on OS X) is to use a
ProcessBuilder
:
// This works ProcessBuilder theBuilder = new ProcessBuilder("cat", "Desktop/my test file.txt") theBuilder.start().text // This does not work //"cat Desktop/my test file.txt".execute().text
Please let me know if this works in Ubuntu too.
Best wishes!
Java
Ranch
»
Forums
»
Other Languages
»
Groovy
All times are in JavaRanch time: GMT-6 in summer, GMT-7 in winter