使用bash脚本中的curl变量更新MariaDB表

问题描述 投票:0回答:1

我已经阅读了网上能找到的所有答案。没有什么与我的问题相似,所以这里是:

我有一个带有curl的bash脚本,我得到了一个变量。我想用这个变量更新我的数据库,但是它不起作用。

我的变量是 $stream,无论我做什么,我总是将单词

"$stream"
放入数据库而不是卷曲的结果。

我的脚本是:

#!/bin/bash
    
stream=$(curl --silent "https://player.mediaklikk.hu/playernew/player.php?video=mtv1live&noflash=yes&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=&osfamily=Windows&osversion=10&browsername=Chrome&browserversion=97.0.4692.99&title=M1&contentid=mtv1live&embedded=0" | grep -Po 'file": "\K(.*?)(?=")' | sed 's/\\\/\\\//https:\\\/\\\//g')
    
echo $stream

mysql
use mydatabase;

UPDATE my_table SET my_url = "$stream" WHERE my_name = 'stream_name';
bash curl mariadb
1个回答
1
投票

您可以使用

-e
选项来执行查询。将其放在双引号中,变量将被扩展。

#!/bin/bash

stream=$(curl --silent "https://player.mediaklikk.hu/playernew/player.php?video=mtv1live&noflash=yes&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=&osfamily=Windows&osversion=10&browsername=Chrome&browserversion=97.0.4692.99&title=M1&contentid=mtv1live&embedded=0" | grep -Po 'file": "\K(.*?)(?=")' | sed 's/\\\/\\\//https:\\\/\\\//g')

echo $stream

mysql mydatabase -e "UPDATE my_table SET my_url = '$stream' WHERE my_name = 'stream_name';"
© www.soinside.com 2019 - 2024. All rights reserved.