मुझे अभी एक और रास्ता मिला है, जो कम से कम echo
आईएनजी स्ट्रिंग्स (वाक्यों) के साथ काम करेगा जिसे आप विस्मयादिबोधक बिंदु के साथ पंचर करना चाहते हैं। यह बैश हिस्टेक्पैंड के चारों ओर कम-से-कम एक अंत-रन करता है, और कोड के लिए केवल थोड़ा अधिक समय लेता है।
एक विस्मयादिबोधक बिंदु के लिए हेक्स, जैसा कि http://www.ascii-code.com/ पर सूचीबद्ध है
, 21 वर्ष का है, इसलिए यदि आप \x21
अपनी स्ट्रिंग के अंत में रखते हैं echo -e $foo
, तो $foo
अपना स्वयं का विस्तारित प्रतिध्वनि बनाएं (यानी foo=$(echo -e "$foo")
], जो आप जब आप echo $foo
फिर से !
अंत में स्ट्रिंग के साथ हो। और कोई स्विचिंग histexpand भी नहीं।
बाश 4+ में निश्चित रूप से काम करता है। पहले के संस्करण, ymmv।
bzr commit -m "It works"!
करता है, भी।