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" 
+0

这有两个问题。首先是'string'会*真正*等于'''mysql -uusername -ppassword dbname -e'select * from foo;'\''因为你引用了它。如果你删除了引号,那么它将执行你所期望的操作,即命令的* output *将被设置为'string'。另一个问题是使用反引号“'已过时。相反使用'$()' – SiegeX 2012-01-18 19:12:23

+0

谢谢,但它在这里工作可能为了向后兼容性,它也可以正常工作。这个mysql命令是基于OP给定语句的最佳猜测,但是其原因,这将给OP提供一个总体思路,以便稍后进行。 – Jasonw 2012-01-19 01:05:11

+0

雅,看起来我对反引号的引用是错误的。但是,它们*是无关的。 – SiegeX 2012-01-19 01:19:22

要通过$()

#!/bin/bash 

string=$(mysql ...) 
echo "http://www.company.com/organizer/$string"