首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何忽略bash脚本中的转义字符?

如何忽略bash脚本中的转义字符?
EN

Stack Overflow用户
提问于 2017-04-01 15:20:06
回答 1查看 650关注 0票数 0

我正在制作bash脚本,我需要一个SQL查询,但是它有bash的转义字符。

我想阅读没有bash转义字符的SQL查询,为什么这个转义字符是MySQL的。

代码语言:javascript
复制
QUERY="SELECT department_id, description FROM departments INTO OUTFILE '/var/lib/mysql-files/departaments.csv' FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';"

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-01 15:39:52

您可以使用

代码语言:javascript
复制
read -r -d '' query <<'EOF'
SELECT department_id, description FROM departments INTO OUTFILE '/var/lib/mysql-files/departaments.csv' FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';
EOF

printf "%s\n" "$query"

输出

代码语言:javascript
复制
SELECT department_id, description FROM departments INTO OUTFILE '/var/lib/mysql-files/departaments.csv' FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';

编辑,在需要展开变量的情况下,从EOF中删除',例如:

代码语言:javascript
复制
outfile=/tmp/file
read -r -d '' query <<EOF
SELECT department_id, description FROM departments
INTO OUTFILE '$outfile'
FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';
EOF
printf "%s\n" "$query"

(注意$outfile变量)打印

代码语言:javascript
复制
SELECT department_id, description FROM departments
INTO OUTFILE '/tmp/file'
FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\n';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43158575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档