如何在bash中使用double qoutes中的一对单引号?

时间:2011-08-23 17:59:14

标签: mysql bash escaping

我打算写一个bash脚本来操纵mysql DB上的用户数据。

这是问题所在。我需要将变量的值传递给Mysql查询字符串:

read USERNAME;
echo  "USE drupdb; SELECT uid  FROM users WHERE name= '%USERNAME';"  > /tmp/query.sql ;

无论我使用过哪种组合(包括用单引号反斜杠来代替它们)都没有办法解决问题。我仍然在query.sql中获得除%USERNAME之外的其他内容。

我很感激你的提示。

1 个答案:

答案 0 :(得分:1)

您需要使用$取消引用变量。将%USERNAME更改为$USERNAME,一切正常:

read USERNAME;
echo  "USE drupdb; SELECT uid  FROM users WHERE name= '$USERNAME';"