linux - How to pass command output as several arguments to another command -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 2 जवाब

मेरे पास एक कमांड है जो उत्पादन करता है इस तरह से आउटपुट:

  $ ./command1 word1 word2 word3  

मैं इन तीनों शब्दों को तर्क के रूप में किसी अन्य कमांड को इस तरह से पारित करना चाहता हूं:

< Div class = "post-text" itemprop = "text">

बस एक अनक्ॉटेड कमांड प्रतिस्थापन का उपयोग करें:

  $ ./command2 $ (./ command1)  

हालांकि, यह पाथनाम पीढ़ी के लिए command1 के आउटपुट को भी पेश करता है, इसलिए यदि आउटपुट में कुछ ली हो सकती है के *। Txt , आप जोखिम को जोखिम में डालते हैं कि इसे कमांड 2 के पास करने से पहले कई शब्दों में विस्तारित किया जा रहा है। उस स्थिति में, आपको

  $ arg1 arg2 arg3 & lt; & lt; & lt; "$ (./ command1)" $ ./command2 "$ arg1" "$ arg2" "$ arg3"  

या

<पूर्व> $ read -a आर्ग्स & lt; & lt; & lt; "$ (./ command1)" $ ./command2 "$ {args [@]}" को आउटपुट को पाथनाम पीढ़ी के अधीन किए बिना 3 शब्दों में विभाजित करने के लिए।

यह काम नहीं करेगा अगर कमांड 1 के आउटपुट की तरह दिखता है

  "word1a word1b" word2  

और आप दो तर्कों, word1a word1b और word2 से कमांड 2 पारित करने में सक्षम होने की अपेक्षा करते हैं, लेकिन यह प्राप्त करने के लिए अधिक आवश्यकता के लिए पर्याप्त रूप से मुश्किल है विवरण के बारे में जानकारी के लिए कि कमांड 1 सही समाधान प्रदान करने के लिए आउटपुट कर सकता है।


Comments

Popular posts from this blog

apache - 504 Gateway Time-out The server didn't respond in time. How to fix it? -

c# - .net WebSocket: CloseOutputAsync vs CloseAsync -

c++ - How to properly scale qgroupbox title with stylesheet for high resolution display? -