首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何转义双引号中的双引号?

如何转义双引号中的双引号?
EN

Stack Overflow用户
提问于 2019-01-07 18:57:29
回答 1查看 161关注 0票数 0

我尝试执行以下命令:

代码语言:javascript
复制
su -l user1 -c "hive -e \"ALTER TABLE schema1.table1 DROP IF EXISTS PARTITION (att1=\"$val\");\""

我得到了错误:

代码语言:javascript
复制
FAILED: ParseException line 1:81 cannot recognize input near 'val1' ')' '<EOF>' in constant

所以这里的问题是由于第二层嵌套的双引号,其间有一个值为val1的变量$val

你能帮我解决吗?最好的办法是给我一个嵌套引号的规则。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-07 21:31:14

在这种特殊情况下,您可以使用单引号而不是内部(当前转义的)双引号,因为双引号中的单引号并不特殊。

代码语言:javascript
复制
su -l user1 -c "hive -e 'ALTER TABLE schema1.table1 DROP IF EXISTS PARTITION (att1=\"$val\");'"

在一般情况下,您不能总是通过反斜杠转义来避免死亡。一般的引用规则非常简单;单引号之间的文本是逐字引用的,而双引号则较弱,但允许您对shell不应触及的内容进行反斜杠。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54073031

复制
相关文章

相似问题

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