这似乎是一个初学者的问题,但我为我的raspberry pi编写了一些代码,并希望用java执行终端命令。到现在为止还挺好。我终于明白了,让它运转起来。但我也希望我的java函数为函数本身提供参数。但我无法弄清楚如何告诉java如何在字符串中使用变量。所以继承我的代码:
public static void rcswitch(int code,int unitcode, int onoff) throws InterruptedException, IOException {
String command = "/bin/bash -c 'sudo /home/pi/rcswitch-pi/send code unitcode onoff'";
Process proc = Runtime.getRuntime().exec(command);
BufferedReader reader =
new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = "";
while((line = reader.readLine()) != null) {
System.out.print(line + "\n");
}
proc.waitFor();
}
它可能不是最好的选择,但它可以帮助我。我正在给bash shell以下'发送'命令,但现在我也想使用给定的参数。无论我如何写下它似乎都没有工作:(代码单元代码和onoff变量应该在发送之后添加,每个之前有一个空格。
感谢您的回答:)
答案 0 :(得分:0)
您可以使用String.format()来构造如下命令:
String command = String.format("/bin/bash -c 'sudo /home/pi/rcswitch-pi/send %d %d %d'", code, unitcode, onoff);
希望这就是你要找的东西。