Mit Bash können Sie Saiten nebeneinander platzieren, und sie werden einfach zusammengeklebt.
Also das:
$ echo "Hello"', world!'
produziert
Hello, world!
Der Trick besteht darin, je nach Bedarf zwischen einfachen und doppelten Zeichenfolgen zu wechseln. Leider wird es schnell sehr chaotisch. Beispielsweise:
$ echo "I like to use" '"double quotes"' "sometimes"
produziert
I like to use "double quotes" sometimes
In Ihrem Beispiel würde ich es ungefähr so machen:
$ 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
welches die folgende Ausgabe erzeugt:
load data local infile "'gfpoint.csv'" into table example FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "'\n'" IGNORE 1 LINES
Es ist schwer zu erkennen, was hier vor sich geht, aber ich kann es mit Unicode-Anführungszeichen kommentieren. Folgendes funktioniert in Bash nicht - es dient nur zur Veranschaulichung:
dbload=
' load data local infile "
' ' ' 'gfpoint.csv'
' " into
' table $dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '
' "
' ' LINES
' TERMINATED BY "
' '\n'
' ' ' ' ' ' ' ' ' '" IGNORE 1 LINES
' '
Die Anführungszeichen wie "''" oben werden von bash interpretiert. Die Zitate mögen" '
werden in der resultierenden Variablen enden.
Wenn ich das vorherige Beispiel gleich behandle, sieht es so aus:
$ echo
" I like to use
"
" "double quotes"
"
" sometimes
"