2013-10-03 45 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]處張貼該問題 –