为了账号安全,请及时绑定邮箱和手机立即绑定

如何在双引号内逃避双引号?

如何在双引号内逃避双引号?

aluckdog 2019-08-09 17:22:21
如何在双引号内逃避双引号?任何人都可以告诉我如何在bash中的双字符串中避免双引号?例如在我的shell脚本中#!/bin/bashdbload="load data local infile \"'gfpoint.csv'\" into table $dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY \"'\n'\" IGNORE 1 LINES"我无法\"正确使用双引号转义来获取ENCLOSED BY 。我不能对我的变量使用单引号,因为我想使用变量$dbtable。
查看完整描述

3 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

使用反斜杠:

echo "\""     # Prints one " character.


查看完整回答
反对 回复 2019-08-09
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

在shell中转义引号的简单示例:

$ echo 'abc'\''abc'abc'abc
$ echo "abc"\""abc"
abc"abc

这是通过完成已经打开的one('),放置一个(\'),然后打开另一个(')来完成的。

或者:

$ echo 'abc'"'"'abc'abc'abc
$ echo "abc"'"'"abc"
abc"abc

这是通过完成已经打开的one('),将引用放在另一个引号("'")中,然后打开另一个(')来完成的。

更多示例:在单引号字符串中转义单引号


查看完整回答
反对 回复 2019-08-09
?
冉冉说

TA贡献1877条经验 获得超1个赞

我不知道为什么今天在bash标记的列表中出现了这个旧问题,但是为了以后的研究人员,请记住,你可以通过使用你需要回应的字符的ascii代码来避免转义。例:

echo -e "this is \x22\x27\x22\x27\x22text\x22\x27\x22\x27\x22"                                                                                                          this is "'"'"text"'"'"

\x22是双引号和\x27单引号的ascii代码(十六进制)。同样,你可以回显任何char。

我想如果我们尝试用反斜杠回显上面的字符串,我们将需要一个凌乱的两行反斜回声...... :)

对于变量赋值,这是等效的:

$ a=$'this is \x22text\x22'                                                                                                                                               $ echo "$a"                                                                                                                                                               this is "text"

如果该变量已由另一个程序设置,您仍然可以使用sed或类似工具应用双/单引号。例:

$ b="just another text here"$ echo "$b"just another text here
$ sed 's/text/"'\0'"/' <<<"$b" #\0 is a special sed operatorjust another "0" here #this is not what i wanted to be$ sed 's/text/\x22\x27\0\x27\x22/' <<<"$b"just another "'text'" here #now we are talking. You would normally need a dozen of backslashes to achieve the same result in the normal way.


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 568 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信