Java ProcessBuilder可以在Linux中顺序执行多个命令
发布时间:2020-12-14 23:48:11 所属栏目:Java 来源:网络整理
导读:我想通过使用ProcessBuilder类的 Java应用程序顺序执行2个或更多命令.我尝试过多个选项,如其他响应/论坛中的建议,但没有运气. 这是我试过的事情: ProcessBuilder processBuilder = new ProcessBuilder("ls",";","pwd"); 给我以下错误: 错误:ls:;:没有这
我想通过使用ProcessBuilder类的
Java应用程序顺序执行2个或更多命令.我尝试过多个选项,如其他响应/论坛中的建议,但没有运气.
这是我试过的事情: ProcessBuilder processBuilder = new ProcessBuilder("ls",";","pwd"); 给我以下错误: 错误:ls:;:没有这样的文件或目录 ProcessBuilder processBuilder = new ProcessBuilder("ls","&&","pwd"); 给我类似的错误: 错误:ls:&&:没有这样的文件或目录 List<String> command = new ArrayList<String>(); command.add("ls"); command.add(";"); command.add("pwd"); ProcessBuilder processBuilder = new ProcessBuilder(command); 给我以下错误: 错误:ls:;:没有这样的文件或目录 我的操作系统是Linux / Mac OSX. 解决方法
您的方法相当于使用指定的参数调用ls.在Bash符号中,您正在运行的是:
ls ';' pwd ls '&&' pwd 如果要使ls和pwd作为单独的命令运行,可以使用Bash(或另一种shell语言)将它们包装成一个命令: bash -c 'ls ; pwd' 你可以这样称呼: ProcessBuilder processBuilder = new ProcessBuilder("bash","-c","ls ; pwd"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |