O Bash permite que você coloque seqüências de caracteres adjacentes, e elas acabam sendo coladas.
Então, é isso:
$ echo "Hello"', world!'
produz
Hello, world!
O truque é alternar entre cadeias simples e duplas, conforme necessário. Infelizmente, rapidamente fica muito confuso. Por exemplo:
$ echo "I like to use" '"double quotes"' "sometimes"
produz
I like to use "double quotes" sometimes
No seu exemplo, eu faria algo assim:
$ 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
que produz a seguinte saída:
load data local infile "'gfpoint.csv'" into table example FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "'\n'" IGNORE 1 LINES
É difícil ver o que está acontecendo aqui, mas posso anotá-lo usando aspas Unicode. O seguinte não funciona no bash - é apenas para ilustração:
dbload=' load data local infile "' 'gfpoint.csv'' " into' table $dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '' "' “ ' LINES” ' TERMINATED BY "' '\n'' " IGNORE 1 LINES' ' ' ' ' ' '
As aspas como "''" acima serão interpretadas por bash. As aspas como " 'vão acabar na variável resultante.
Se eu der o mesmo tratamento ao exemplo anterior, ele ficará assim:
$ echo“ I like to use” ' "double quotes"' “ sometimes”