1

grep実行される while ループで使用しようとしていますcurl

    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)

問題は"${grep '$STRING'}「」の行にあります。grep必要があるため、のようにgrep 'text'さまざまな方法を試しましたが、機能しませんでした。grep '$var'${grep $var}

SQL 出力:

    ${row[0]} = http://www.codeoasis.com/
    ${row[1]} = index.php
    ${row[2]} = Copyright
4

1 に答える 1

2

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)

$STRINGを一重引用符ではなく二重引用符で囲むことに注意してください。

于 2012-09-10T12:37:34.477 に答える