2014-10-21 2 views
2

Я работаю над программой java, где мне нужно вызвать скрипт bash, который принимает строку в качестве аргумента. поэтому я написал код:отправка команды на терминал из java с пробелом в нем

Process p = Runtime.getRuntime().exec("./script \"message send\""); 

, но кажется, если терминал не распознает кавычки («), как цитаты, и со ссылкой на термин„сообщение отправить“в виде двух аргументов:» сообщение и отправить», и поэтому скрипт не вызывается должным образом.

кто-нибудь есть какие-либо идеи, что я могу сделать?

+0

' ProcessBuilder' с командами будет Полегче , http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html#ProcessBuilder (java.lang.String ...) – srkavin

ответ

2

Вы можете выполнить это с помощью ProcessBuilder.

ProcessBuilder processBuilder = new ProcessBuilder(); 
p.command("cmd_to_run", "args_if_any"); 
p.start();