mysql - bash/linux 中的引用问题
问题描述
我有一个 bash 脚本,我正在将一些 SQL 选择语句放入其中,但我很难让它们正确读出。单引号、双引号等如果你想要整个 sql 语句使用它似乎并不快。
样本:
declare -a array=(
'1=Unprocessed===SELECT count(*) FROM db.table WHERE thing1='unknown' and thing2='unknown' and thing3='unknown''
)
我厌倦了逃避单引号 - 我厌倦了整个事情的双引号。我试过单引号和双引号等
解决方案
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'
推荐阅读
- colors - 尝试在swift4 xcode9中使用没有故事板或色轮的RGB颜色
- c++ - 解构 const 指针?
- sql-server - Excel没有从视图中提取所有记录
- c - 快速 C 随机布尔生成器
- python - pyspark.sql.types.Row 列出
- bash - 将整个提交复制到单独的目录中
- amazon-ec2 - /var/log/cloud-init-output.log 在 RHEL 7.5 上不存在
- qt - 是否可以在 XP 上运行 Qt 5.10 程序?
- jenkins - 詹金斯正在用其他文本替换构建步骤中的文本
- c# - c# 两个 web 参考,一个用于 live on 用于测试