Estoy ejecutando algunos comandos desde la línea de comandos en mi programa java, y parece que no me permite usar "grep"? ¡He probado esto quitando la porción "grep" y el comando funciona perfectamente!El proceso de Java Runtime no se "Grep"
Mi código que no funciona:
String serviceL = "someService";
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("chkconfig --list | grep " + serviceL);
código que hace el trabajo:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("chkconfig --list");
¿Por qué es esto? ¿Y hay algún tipo de método correcto o solución alternativa? Soy consciente de que podría analizar todo el resultado, pero me resultaría más fácil hacerlo todo desde la línea de comandos. Gracias.
No hay razón que no puedo coincidir en Java. Pensé que sería más rápido escribir el grep que analizar la salida. Soy relativamente nuevo con Linux, así que no sabía que grep era una función del shell. ¡Gracias! – Max
@Max: grep no es una shell incorporada, la tubería '|' es una característica de sintaxis de shell. – ninjalj