Bash를 사용하면 문자열을 인접하게 배치 할 수 있으며 결국 서로 붙어 있습니다.
그래서 이거:
$ 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
여기서 무슨 일이 일어나고 있는지 알기가 어렵지만 유니 코드 따옴표를 사용하여 주석을 달 수 있습니다. 다음은 bash에서 작동하지 않으며 단지 설명을위한 것입니다.
dbload=
' load data local infile "
'“ 'gfpoint.csv'
” ' " into
'“ table $dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '
” ' "
'“ ' LINES
” ' TERMINATED BY "
'“ '\n'
” ' " IGNORE 1 LINES
'
위의 " ''"와 같은 인용 부호는 bash로 해석됩니다. 따옴표 " '
는 결과 변수로 끝납니다.
이전 예제와 동일한 처리를 수행하면 다음과 같습니다.
$ echo
“ I like to use
”
' "double quotes"
'
“ sometimes
”