Bash cho phép bạn đặt các chuỗi một cách ngẫu nhiên, và cuối cùng chúng sẽ được dán lại với nhau.
Vậy đây:
$ echo "Hello"', world!'
sản xuất
Hello, world!
Bí quyết là xen kẽ giữa các chuỗi đơn và đôi trích dẫn theo yêu cầu. Thật không may, nó nhanh chóng trở nên rất lộn xộn. Ví dụ:
$ echo "I like to use" '"double quotes"' "sometimes"
sản xuất
I like to use "double quotes" sometimes
Trong ví dụ của bạn, tôi sẽ làm nó như thế này:
$ 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
tạo ra đầu ra sau:
load data local infile "'gfpoint.csv'" into table example FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "'\n'" IGNORE 1 LINES
Thật khó để thấy những gì đang diễn ra ở đây, nhưng tôi có thể chú thích nó bằng cách sử dụng các trích dẫn Unicode. Sau đây sẽ không hoạt động trong bash - nó chỉ để minh họa:
dbload=
' load data local infile "
'‘ 'gfpoint.csv'
’' " into
'‘ table $dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '
’' "
'‘ ' LINES
’' TERMINATED BY "
'‘ '\n'
’' " IGNORE 1 LINES
'
Các trích dẫn như của '' 'ở trên sẽ được giải thích bằng bash. Các trích dẫn như " '
sẽ kết thúc trong biến kết quả.
Nếu tôi đưa ra cách xử lý tương tự với ví dụ trước đó, thì nó sẽ như thế này:
$ echo
“ I like to use
”
' "double quotes"
'
“ sometimes
”