मुझे लगता है कि यह आपके लिए कर सकता है?
eval $(printf 'ping "%s" & ' host1 host2 host3)
यह printfप्रत्येक तर्क पर अपने प्रारूप स्ट्रिंग का फिर से उपयोग करते हुए अपने तर्कों को "ऑटो-इट्रेट" करने की क्षमता का लाभ उठाता है। printfइसलिए उपरोक्त ping <hostname> &प्रत्येक मेजबान के लिए तर्क के रूप में तार का एक क्रम उत्पन्न करता है , और कमांड सबस्टीट्यूट के माध्यम से कमांड के ऐसे अनुक्रम को evalकमांड करता है ताकि उन्हें तुरंत निष्पादित किया जा सके।
printfऔर evalकमांड POSIX मानक हैं, साथ ही कमांड प्रतिस्थापन भी हैं।
एक उप-संस्करण waitमें इस तरह के पूरे कमांड को शामिल करना जिसमें इस तरह एक एड-एड शामिल है :
(eval $(printf 'ping "%s" & ' host1 host2 host3) && wait)
एक सरल के साथ सब कुछ को बाधित करने की क्षमता प्रदान करता है Ctrl+C।
इसके अलावा आप प्रत्येक pingकमांड को शेल के सामान्य जॉब कंट्रोल के माध्यम से एकल रूप से नियंत्रित कर सकते हैं ।
यदि आपके शेल में प्रोसेस सब्स्टीट्यूशंस के लिए भी समर्थन है, तो आप निम्नलिखित का भी उपयोग कर सकते हैं:
. <(printf 'ping "%s" & ' host1 host2 host3)
कुछ वर्णों के लिए टाइप करने के लिए कम।
गिस्ट के लिए के रूप में ही है eval, लेकिन प्रक्रिया प्रतिस्थापन के माध्यम से pingएस .(aka source) कमांड के अनुक्रम को खिलाती है ।