如何在bash中联合字符串?

时间:2018-04-25 09:59:53

标签: string bash

sql="UPDATE wp_posts SET post_content = replace(post_content, 'domain','http://123.456.789.1/wp');"
echo $sql
UPDATE wp_posts SET post_content = replace(post_content, 'domain','http://123.456.789.1/wp');

sql string是我想要的。
将ip地址分配给变量。

$ip="123.456.789.1"
sql="UPDATE wp_posts SET post_content = replace(post_content, 'domain',"http://${ip}/wp");"
echo $sql
UPDATE wp_posts SET post_content = replace(post_content, 'domain',http://123.456.789.7' /wp);

当ip地址是变量时,我无法获取sql字符串 怎么解决?

1 个答案:

答案 0 :(得分:1)

变量名称不应以$开头。因此,请调用变量ip而不是$ip

由于您的sql字符串是用双引号声明的,因此"http://${ip}/wp"中不需要另外的双引号。

这应该做的工作:

ip="123.456.789.1"
sql="UPDATE wp_posts SET post_content = replace(post_content, 'domain','http://$ip/wp');"
echo "$sql"

输出:

UPDATE wp_posts SET post_content = replace(post_content, 'domain','http://123.456.789.1/wp');