bash/linux 中的引用问题

Quoting issues in bash/linux

提问人:Tony 提问时间:2/27/2019 最后编辑:Tony 更新时间:2/27/2019 访问量:44

问:

我有一个 bash 脚本,我正在将一些 SQL select 语句放入其中,但我在让它们正确读出时遇到了可怕的时间。单引号、双引号等,如果您想要整个 sql 语句,似乎没有快速使用这个。

样本:

declare -a array=(
'1=Unprocessed===SELECT count(*) FROM db.table WHERE thing1='unknown' and thing2='unknown' and thing3='unknown''
)

我已经厌倦了逃避单引号——我已经厌倦了整个事情的双引号。我尝试过单引号和双引号等

MySQL Bash 行情

评论

0赞 Paul Hodges 2/27/2019
很高兴知道...我应该假设你在要求什么吗?:D请参考本指南,然后向我们展示您尝试过的内容、您的输入、输出、错误和代码(请不要以图像形式发布),不要将其作为 XY 问题发布。有人将能够帮助您使其工作。;)
0赞 lurker 2/27/2019
您应该显示一个展示该问题的小型示例脚本。
0赞 Paul Hodges 2/27/2019
这到底是怎么回事?对于报价,请尝试:1=Unprocessed==="SELECT count(*) FROM db.table WHERE thing1='unknown' and thing2='unknown' and thing3='unknown' "

答:

1赞 Ed Morton 2/27/2019 #1

idk 应该是什么,但这似乎是您所要求的:1=Unprocessed===

$ declare -a array=(
'1=Unprocessed===SELECT count(*) FROM db.table WHERE thing1='\''unknown'\'' and thing2='\''unknown'\'' and thing3='\''unknown'\'''
)

$ echo "${array[0]}"
1=Unprocessed===SELECT count(*) FROM db.table WHERE thing1='unknown' and thing2='unknown' and thing3='unknown'