में ट्रिकी ब्रेस विस्तार जब एक POSIX खोल का उपयोग करते हुए,खोल
touch {quick,man,strong}ly
निम्नलिखित
touch quickly manly strongly
कौन सा फ़ाइलों quickly
, manly
, और strongly
स्पर्श करेगा करने के लिए फैलता है, लेकिन यह गतिशील रूप से संभव है विस्तार बनाएँ? उदाहरण के लिए, निम्नलिखित दिखाता है मुझे क्या करना चाहते हैं, लेकिन विस्तार के आदेश की वजह से काम नहीं करता है:
TEST=quick,man,strong #possibly output from a program
echo {$TEST}ly
वहाँ किसी भी तरह से इस लक्ष्य को हासिल करने के लिए है? यदि आवश्यकता हो तो मुझे बैश में खुद को बांधने की कोई बात नहीं है। मैं लूप से बचना भी चाहूंगा। विस्तार किसी भी मनमाना कार्यक्रम के लिए पूर्ण तर्क के रूप में दिया जाना चाहिए (यानी कार्यक्रम को प्रत्येक फ़ाइल के लिए एक बार नहीं कहा जा सकता है, इसे केवल सभी फ़ाइलों के लिए एक बार बुलाया जा सकता है)। मुझे xargs
के बारे में पता है, लेकिन मुझे आशा है कि यह किसी भी तरह से खोल से किया जा सकता है।
ब्रेस विस्तार में निर्धारित नहीं है POSIX खोल: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06 – pabouk
@pabouk: यह सही है, अब मुझे पता है कि ब्रेस विस्तार POSIX नहीं है, लेकिन 7 साल पहले (जब मैंने पूछा यह सवाल) मुझे यह नहीं पता था :) – dreamlax