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
Post a Comment