我正在尝试在运行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
答案 0 :(得分: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
周围使用双引号,而不是单引号。