final String commands[] = {"arp", "-n", "|" ,"grep", "98:5d:ad:3d:36:ef", "|", "awk '", "{print $1}", "'"};
ProcessBuilder pb = new ProcessBuilder(commands); 我想检索IP,给出MAC地址。
当我将这个命令插入终端(ubuntu16.04)时,它可以工作。
但是当我在JAVA中使用它时,它不起作用。
我做错什么了?
只有当我像这样运行它时,它才会起作用:
final String commands[] = {"arp", "-n"};
ProcessBuilder pb = new ProcessBuilder(commands); 发布于 2018-06-11 21:33:46
您需要调用"sh“并将管道命令传递给该程序。尝试:
ProcessBuilder b = new ProcessBuilder( "/bin/sh", "-c",
"arp -n | grep 98:5d:ad:3d:36:ef | awk '{print $1}'" );https://stackoverflow.com/questions/50801500
复制相似问题