2016-01-26 1 views
0

У меня возникла проблема с выполнением команды в Spring Shell. Я использую этот код, чтобы мигать моим светодиодом на малине PI, но я получаю сообщение об ошибке в журнале Tomcat.Как выполнить команду в Spring Shell?

JLineShellComponent shell; 
Bootstrap bootstrap = new Bootstrap();  
shell = bootstrap.getJLineShellComponent(); 
shell.executeCommand("gpio -g write 17 1"); 
shell.stop(); 

Выход журнала:

org.springframework.shell.core.SimpleParser commandNotFound 
WARNING: Command 'sudo gpio -g write 17 1' not found (for assistance press TAB) 

Когда я использую echo команду проблема сохраняется.

+0

мог он бы сказать 'sudo' не найден ?! Я предполагаю, что его добавила библиотека. –

+0

«gpio» - единственная команда, которая идет не так? Другие команды работают? Мне кажется странным, что в сообщении об ошибке появляется команда 'sudo'. –

ответ

1

Если вы хотите выполнить команду ОС через Spring Shell, вы должны добавить восклицательный знак.

shell.executeCommand("! gpio -g write 17 1"); 

Лучшее решение использовать не Spring Shell на всех

Runtime.getRuntime().exec("gpio -g write 17 1");