printf% q एक स्ट्रिंग उद्धृत करना चाहिए। हालांकि, जब एक स्क्रिप्ट में निष्पादित किया जाता है, तो यह रिक्त स्थान हटा देता है।
यह आदेश:
printf %q "hello world"
आउटपुट:
hello\ world
जो सही है।
यह स्क्रिप्ट:
#!/bin/bash
str="hello world"
printf %q $str
आउटपुट:
helloworld
जो गलत है।
यदि ऐसा व्यवहार वास्तव में अपेक्षित है, तो किसी भी चरित्र वाले किसी स्ट्रिंग को उद्धृत करने के लिए स्क्रिप्ट में कौन सा विकल्प मौजूद है, जिसे इसे किसी प्रोग्राम द्वारा मूल में वापस अनुवादित किया जा सकता है?
धन्यवाद।
सॉफ्टवेयर: जीएनयू बैश, संस्करण 4.1.5 (1) -release (i486-पीसी-linux-gnu)
संपादित: हल, धन्यवाद।
के शीर्षक में 'हल' उपसर्ग निकाला गया है शामिल हो सकते हैं स्वीकार करें अपने पद। StackOverflow.com में, आप 'सॉल्वड' के साथ शीर्षक को उपसर्ग करके हल की गई समस्या को चिह्नित नहीं करते हैं, आप एक उत्तर स्वीकार करते हैं या आप अपना उत्तर पोस्ट करते हैं और काम के उत्तर के पास मतदान बटन के नीचे टिक-चिह्न पर क्लिक करके इसे स्वीकार करते हैं तुम्हारे लिए। –