मैं अपने जावा प्रोग्राम में कमांड लाइन से कुछ कमांड निष्पादित कर रहा हूं, और ऐसा लगता है कि यह मुझे "grep" का उपयोग करने की अनुमति नहीं देता है? मैंने इसका परीक्षण "grep" भाग को हटाकर किया है और कमांड ठीक है!जावा रनटाइम प्रक्रिया "Grep" नहीं होगी
मेरे कोड वह काम नहीं करता:
String serviceL = "someService";
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("chkconfig --list | grep " + serviceL);
कोड है कि करता है काम:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("chkconfig --list");
ऐसा क्यों है? और क्या कोई सही विधि या कामकाज है? मुझे पता है कि मैं सिर्फ पूरे आउटपुट को पार्स कर सकता हूं, लेकिन मुझे कमांड लाइन से यह करना आसान लगेगा। धन्यवाद।
कोई कारण नहीं है कि मैं जावा में मेल नहीं कर सकता। मैंने सोचा कि उत्पादन को पार्स करने के बजाय grep को लिखना तेज़ होगा। मैं लिनक्स के साथ अपेक्षाकृत नया हूं इसलिए मुझे पता नहीं था कि grep खोल का एक कार्य था। धन्यवाद! – Max
@ मैक्स: grep एक खोल निर्मित नहीं है, पाइप '|' एक शेल वाक्यविन्यास सुविधा है। – ninjalj