小编div*_*gon的帖子

在 echo 中抑制 * 的扩展

我正在编写一个脚本,该脚本每天动态执行一些查询。这些查询来自数据库中的一个表。

以下是查询表的示例输出:

+---------------+-------------------------------+---------+
| query_name    | query                         | userid  |
+---------------+-------------------------------+---------+
| All_User      | select * from users LIMIT 10; | jmatthe |
+---------------+-------------------------------+---------+
Run Code Online (Sandbox Code Playgroud)

现在,我必须select * from users LIMIT 10;动态执行查询。我正在读取输出的每一行并存储来自输出的查询。

query_name=$(echo $query | cut -d\| -f1)
query_sql=$(echo $query | cut -d\| -f2)
query_user=$(echo $query | cut -d\| -f3)
Run Code Online (Sandbox Code Playgroud)

现在这里是问题出现的地方。因为我的行中包含一个*字符,所以echo $query扩展*以将其替换为当前目录中的文件。所以基本上,我的query_sql商店是这样的。

select batchemail.sh query_output.txt from tbl_query
Run Code Online (Sandbox Code Playgroud)

我想保留*行中的 ,以便在我的query_sql变量中得到相同的结果。我希望我的query_sql变量存储原始数据。

select * from tbl_query
Run Code Online (Sandbox Code Playgroud)

有人可以指导我吗?

mysql command-line-interface unix-shell echo shell-scripting

3
推荐指数
2
解决办法
192
查看次数