कई तरकीबें हैं (मुझे लगता है कि पाया जाने वाला एक डुप्लिकेट है), लेकिन इसके लिए मुझे क्या करना है
cp /etc/prog/dir1/myconfig.yml{,.bak}
जो आपकी आज्ञा पर विस्तारित हो जाता है।
इसे ब्रेस विस्तार के रूप में जाना जाता है । यहां उपयोग किए गए फॉर्म में, {}
अभिव्यक्ति कॉमा द्वारा अलग किए गए कई तारों को निर्दिष्ट करती है। ये पूरी /etc/prog/dir1/myconfig.yml{,.bak}
अभिव्यक्ति का "विस्तार" करते हैं , बदले में {}
प्रत्येक स्ट्रिंग के साथ भाग को प्रतिस्थापित करते हैं: खाली स्ट्रिंग, दे रहे हैं /etc/prog/dir1/myconfig.yml
, और फिर .bak
, दे रहे हैं /etc/prog/dir1/myconfig.yml.bak
। परिणाम है
cp /etc/prog/dir1/myconfig.yml /etc/prog/dir1/myconfig.yml.bak
इन अभिव्यक्तियों को नस्ट किया जा सकता है:
echo a{b,c,d{e,f,g}}
पैदा करता है
ab ac ade adf adg
अनुक्रम बनाने के लिए संख्याओं का उपयोग करने वाला एक प्रकार है:
echo {1..10}
पैदा करता है
1 2 3 4 5 6 7 8 9 10
और आप कदम भी निर्दिष्ट कर सकते हैं:
echo {0..10..5}
पैदा करता है
0 5 10
bash-fu
:)