Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从java运行linux命令_Java - Fatal编程技术网

如何从java运行linux命令

如何从java运行linux命令,java,Java,我正在尝试运行linux命令(使用管道) 使用类似于: Runtime.getRuntime().exec("rpm -qa | grep "Uploader" | xargs rpm --queryformat "%{VERSION}" -q"); 但是我得到的结果只是“rpm-qa”的输出 你能帮忙吗 谢谢只有shell能够理解管道,您可以使用要运行的命令调用shell: exec(new String[]{"/bin/sh", "-c", "rpm -qa | grep \"Upload

我正在尝试运行linux命令(使用管道)

使用类似于:

Runtime.getRuntime().exec("rpm -qa | grep "Uploader" | xargs rpm --queryformat "%{VERSION}" -q");
但是我得到的结果只是“rpm-qa”的输出

你能帮忙吗


谢谢

只有shell能够理解管道,您可以使用要运行的命令调用shell:

exec(new String[]{"/bin/sh", "-c", "rpm -qa | grep \"Uploader\" | xargs rpm --queryformat \"%{VERSION}\" -q"});

只有shell可以理解管道,您可以使用要运行的命令调用shell:

exec(new String[]{"/bin/sh", "-c", "rpm -qa | grep \"Uploader\" | xargs rpm --queryformat \"%{VERSION}\" -q"});

您可以尝试将命令放入脚本并调用它。当有多个参数时,Java会感到困惑。Java和rpm都不知道管道。壳牌了解管道。因此,最好的办法是将管道封装在一个小的shell脚本中并执行它!您可以尝试将命令放入脚本并调用该脚本。当有多个参数时,Java会感到困惑。Java和rpm都不知道管道。壳牌了解管道。因此,最好的办法是将管道封装在一个小的shell脚本中并执行它!可能重复的