बैश आपको आसन्न तारों को लगाने की अनुमति देता है, और वे बस एक साथ चिपके हुए समाप्त हो जाएंगे।
तो यह:
$ echo "Hello"', world!'
पैदा करता है
Hello, world!
ट्रिक को आवश्यकतानुसार सिंगल और डबल-कोटेड स्ट्रिंग्स के बीच वैकल्पिक करना है। दुर्भाग्य से, यह जल्दी से बहुत गड़बड़ हो जाता है। उदाहरण के लिए:
$ echo "I like to use" '"double quotes"' "sometimes"
पैदा करता है
I like to use "double quotes" sometimes
आपके उदाहरण में, मैं इसे कुछ इस तरह से करूंगा:
$ dbtable=example
$ dbload='load data local infile "'"'gfpoint.csv'"'" into '"table $dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '"'"'"' LINES "'TERMINATED BY "'"'\n'"'" IGNORE 1 LINES'
$ echo $dbload
जो निम्नलिखित उत्पादन का उत्पादन करता है:
load data local infile "'gfpoint.csv'" into table example FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "'\n'" IGNORE 1 LINES
यह देखना मुश्किल है कि यहां क्या हो रहा है, लेकिन मैं यूनिकोड उद्धरणों का उपयोग करके इसे एनोटेट कर सकता हूं। निम्नलिखित बाश में काम नहीं करेगा - यह सिर्फ दृष्टांत के लिए है:
dbload=
' load data local infile "
' ' 'gfpoint.csv'
' ' " into
' ' table $dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '
' ' "
' ' ' LINES
' ' TERMINATED BY "
' ' '\n'
' ' " IGNORE 1 LINES
' ' ' ' ' ' '
उपरोक्त में "''" जैसे उद्धरण बैश द्वारा व्याख्यायित किए जाएंगे। जैसे उद्धरण " '
परिणामी चर में समाप्त हो जाएंगे।
यदि मैं पहले उदाहरण के लिए एक ही उपचार देता हूं, तो यह इस तरह दिखता है:
$ echo
" I like to use
"
' "double quotes"
'
" sometimes
"