Bash:在curl时使用变量中的灰色字符串

Bash:在curl时使用变量中的灰色字符串,bash,curl,grep,Bash,Curl,Grep,我试图在运行curl的while循环中使用grep i=1 while read -a row do test $i -eq 1 && ((i=i+1)) && continue STRING=${row[2]} CURL=`curl ${row[0]}${row[1]} | ${grep '$STRING'}` echo $CURL done < <(echo "SELE

我试图在运行
curl
的while循环中使用
grep

    i=1
    while read -a row
    do
      test $i -eq 1 && ((i=i+1)) && continue
      STRING=${row[2]}
      CURL=`curl ${row[0]}${row[1]} | ${grep '$STRING'}`
      echo $CURL
    done < <(echo "SELECT check_address, check_page, check_string FROM checks" | mysql monitor)

您不需要捕获
curl
grep
的输出:

i=1
while read -a row
do
  test $i -eq 1 && ((i=i+1)) && continue
  STRING=${row[2]}
  curl ${row[0]}${row[1]} | grep "$STRING"
done < <(echo "SELECT check_address, check_page, check_string FROM checks" | mysql monitor)
i=1
边读边读——一行
做
测试$i-等式1&((i=i+1))&&继续
字符串=${row[2]}
curl${row[0]}${row[1]}grep“$STRING”

done<当我运行它时,仍然得到空响应:[root@oasis监视器]#./Monitor.sh%Total%已接收%Xferd平均速度时间当前数据加载上载总花费左速度100 22248 0 22248 0 0 75002 0--:--:--:--:--:--:--:------------2450请将SQL查询的输出添加到问题中。现在,URL似乎很好(返回了2450k),但请求的字符串不存在。它存在如果我现在在它工作的变量中键入字符串,唯一的问题是grep不会读取SQL的变量(我回显它及其输出):${row[0]}=${row[1]}=index.php${row[2]}=版权我复制了您编写的代码,不幸的是它仍然给我空输出[root@oasis监视器]#./Monitor.sh%Total%已接收%Xferd平均速度时间当前数据加载上载总已用左速度100 22248 0 22248 0 83854 0--:--:--:--:--------------2450k[root@oasis监视器]#
i=1
while read -a row
do
  test $i -eq 1 && ((i=i+1)) && continue
  STRING=${row[2]}
  curl ${row[0]}${row[1]} | grep "$STRING"
done < <(echo "SELECT check_address, check_page, check_string FROM checks" | mysql monitor)