首页 > 解决方案 > bash/linux 中的引用问题

问题描述

我有一个 bash 脚本,我正在将一些 SQL 选择语句放入其中,但我很难让它们正确读出。单引号、双引号等如果你想要整个 sql 语句使用它似乎并不快。

样本:

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

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

标签: mysqlbashquotes

解决方案


idk1=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'

推荐阅读