如何使管道符号或 Grep 在 Android 进程运行时命令中工作?
How to make Pipe symbol or Grep work in an Android process runtime command?
我正在尝试执行以下命令;
String cmd = "/system/bin/netstat -"+firstString+" | grep http";
Process process = Runtime.getRuntime().exec(cmd);
Log.d("1:CMD VALUE", cmd);
日志结果为1:CMD VALUE: /system/bin/netstat -a | grep http
但是,输出 没有 针对 'http' 参数进行过滤。常规的“/system/bin/netstat -a”结果也是我通过“/system/bin/netstat -a | grep http`”命令得到的结果。为什么是这样?这是因为管道符号还是 grep 命令?
请帮忙。
谢谢
本站其他回答不是很清楚。这是解决方案。
您需要在运行时命令前附加 "/system/bin/sh -c"
才能使 grep 工作。
干杯。
我正在尝试执行以下命令;
String cmd = "/system/bin/netstat -"+firstString+" | grep http";
Process process = Runtime.getRuntime().exec(cmd);
Log.d("1:CMD VALUE", cmd);
日志结果为1:CMD VALUE: /system/bin/netstat -a | grep http
但是,输出 没有 针对 'http' 参数进行过滤。常规的“/system/bin/netstat -a”结果也是我通过“/system/bin/netstat -a | grep http`”命令得到的结果。为什么是这样?这是因为管道符号还是 grep 命令? 请帮忙。 谢谢
本站其他回答不是很清楚。这是解决方案。
您需要在运行时命令前附加 "/system/bin/sh -c"
才能使 grep 工作。
干杯。