2013-10-03 46 views
0

一个URL寻找一个bash脚本,将完成以下内容:(前www.google.com)脚本来检查特定文本

  1. 检查URL
  2. 寻找一个特定的文本字符串
  3. 如果它存在,它什么都不做
  4. 如果它不,然后发送一封电子邮件,提醒有人

我尝试了下面的脚本,它没有做任何事情,我没有收到任何电子邮件或任何东西。

#!/bin/sh 
URL="URL" 
TMPFILE=`mktemp /string_watch.XXXXXX` 
curl -s -o ${TMPFILE} ${URL} 2>/dev/null 
if [ "$?" -ne "0" ]; 
then 
echo "Unable to connect to ${URL}" 
exit 2 
fi 
RES=`grep -i "StringToLookFor" ${TMPFILE}` 
if [ "$?" -ne "0" ]; 
then 
echo "String not found in ${URL}" | mail -s "Alert" [email protected] 
exit 1 
fi 
echo "String found" 
exit 0; 
+0

如果你只是在命令行输入'mail -s'Alert'your @ email',会发生什么?你收到一封电子邮件吗? –

+0

@JimGarrison脚本只是挂在那里,我被迫关闭/停止它。 – Ahmad

+0

不,如果您在脚本之外的命令行运行“mail -s”Alert“your @ email',会发生什么? –

回答

0

命令

mail -s "Alert" [email protected] 

是停下来让你输入你的电子邮件的文本。如果你想发送一封电子邮件,但没有你需要的文字

mail -s "Alert" [email protected] < /dev/null 
+0

吉姆,这确实解决了悬挂问题,但是,我仍然没有收到任何电子邮件。 – Ahmad

+0

然后你有邮件服务器配置问题,这是SO的离题。您需要先解决如何从命令行成功发送电子邮件。我建议你在[su]处张贴该问题 –