如何从java运行linux命令
我正在尝试运行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
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脚本中并执行它!可能重复的