Bash - 从mysql检索数据用于http调用
问题描述:
我是bash脚本编写新手,所以需要您的帮助。我想从MySQL数据库获取数据并使用http调用的参数。例如,Bash - 从mysql检索数据用于http调用
$string = data from mysql
http://www.company.com/organizer/$string
如何从mysql检索数据并存储到字符串中,然后将其用于http调用?我需要像在浏览器中使用它一样执行http url。
我现在的代码如下:
#!bin/bash
$string = mysql Company<<EOFMYSQL
select name from HR;
EOFMYSQL
答
有关下列如何使用命令替换?
string="`mysql -uusername -ppassword dbname -e 'select * from foo;'`"
url="http://www.company.com/organizer"
url="$url/$string";
wget "$url"
答
要通过$()
#!/bin/bash
string=$(mysql ...)
echo "http://www.company.com/organizer/$string"
这有两个问题。首先是'string'会*真正*等于'''mysql -uusername -ppassword dbname -e'select * from foo;'\''因为你引用了它。如果你删除了引号,那么它将执行你所期望的操作,即命令的* output *将被设置为'string'。另一个问题是使用反引号“'已过时。相反使用'$()' – SiegeX 2012-01-18 19:12:23
谢谢,但它在这里工作可能为了向后兼容性,它也可以正常工作。这个mysql命令是基于OP给定语句的最佳猜测,但是其原因,这将给OP提供一个总体思路,以便稍后进行。 – Jasonw 2012-01-19 01:05:11
雅,看起来我对反引号的引用是错误的。但是,它们*是无关的。 – SiegeX 2012-01-19 01:19:22