[英]Is there a way to execute multiple Linux commands in Java process builder?
我对 Java 很陌生,目前我正在努力在 Java 中执行 linux 命令。
在单个进程中,我想执行一个touch txt命令,让进程构建器等待一秒钟,然后在同一个进程中,删除txt文件。
我目前的代码如下
public void Shell(){
try {
File dir = new File("/Users/yhlee/Documents");
ProcessBuilder pb = new ProcessBuilder(new String[]{"/bin/bash", "-c", "touch commandTest.txt"});
pb.directory(dir);
Process start = pb.start();
log.info("shell succeeded");
}catch (Exception e){
e.printStackTrace();
log.info("Error.Running.CMD");
}
在编写 txt 文件之后我被卡住了,任何形式的建议都将不胜感激!
我建议你避免创建一个 shell 来执行你的操作。 我还希望使用系统属性user.home
来构建Documents
文件夹的路径。 除非我遗漏了什么,你只要
File f = new File(System.getProperty("user.home"), "Documents/commandTest.txt");
try {
f.createNewFile();
TimeUnit.SECONDS.sleep(1);
} catch (Exception e) {
e.printStackTrace();
}
f.deleteOnExit();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.