Автор Тема: SMS Noitify  (Прочетена 1620 пъти)

Rooted

  • Напреднали
  • *****
  • Публикации: 33
    • Профил
SMS Noitify
« -: Feb 05, 2005, 22:35 »
Примерен код

#!/bin/bash
#sms notify --- Rooted
#test1=mh

mailpach=/var/mail/irc
sendpach=sended
to=Rooted@10.1.7.22

gawk '/^Date:/{++f;a=$0;getline b;getline c;next}END{if(f)print a"\n"b"\n"c}' $mailpach > temp
testtosend=`grep -w Date: -m 1 temp`


####### qvno ne stava kakto iskam az
gawk -v var="$testtosend" '$0~var { print "got" >> do }' $sendpach
test1=`cat do`
if [ $test1 = got ]
####### eto tazi ugradenata sekcia e neshto ne nared


then
exit 1
else

gawk '/^Subject/{print $2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20}' temp $gawk '/^From/{print $2,$3,$4,$5}' temp > from.temp
sub=`cat sub.temp`
from=`cat from.temp`

(
echo "To: $to"
echo "Subject: $sub"
echo "You Got Email - FROM $from"
) 2>&1 | /usr/lib/sendmail -t

echo "$testtosend" >> $sendpach
rm -rf temp
rm -rf sub.temp
rm -rf from.temprm -rf $test1
rm -rf do

exit

fi
exit

Tova e source-a no mi dava greshka

cat: do: No such file or directory
./smsnotify: line 16: [: =: unary operator expected

no ne znam zashto ne ... suzdava file "do"
probah se da naprava gawk da sravnqva reda
s spisak ot redove i ako nameri savpadenia da zapishe v file
"do" [good] ako ne [bad] sled koeto ... da go testvam s
if [ $test1 = good ] then .... else
no ne uspqh da go napisha se mi davashe greshka
qko nqkoi ima po dobra ideq za sms notify da kaje


ps.
sajelqvam che ne e na cyrillic no tuk na server-a q nqma se se kanq da q sloja '<img'> shte gledam da se postaraq da go napravq
 
Blagodarq predvaritelno
Активен

ivanatora

  • Напреднали
  • *****
  • Публикации: 658
  • Distribution: Ubuntu 10.04
  • Window Manager: Fluxbox
    • Профил
    • WWW
SMS Noitify
« Отговор #1 -: Feb 06, 2005, 20:57 »
Сложи ; след ].
if [ uslovie ]; then ...
М/у другото как работи скрипта ?
Активен

rpetrov

  • Напреднали
  • *****
  • Публикации: 571
    • Профил
    • WWW
SMS Noitify
« Отговор #2 -: Feb 07, 2005, 09:58 »
когато test1 е празен низ то реда
if [ $test1 = got ]
след като се замени с стойността на променливата, изглежда така:
if [  = got ]

Решения
1.) if test x$test1 = xgot
2.) if test "$test1" = "got"


А файла не ти се създава, защото не си оградил името в двойни кавички.
Активен

Rooted

  • Напреднали
  • *****
  • Публикации: 33
    • Профил
SMS Noitify
« Отговор #3 -: Feb 07, 2005, 13:12 »
Мерси за помоща сега ще вида дали ще го пребора това '<img'>

ivanatora:
ами първото което прави скрипта е да измъкне последниа маил от /var/mail/ след което да го запише в един фаил след което взима дата на фаила и я сверява със списака които програмата си прави секи път когато испрати
така че да не се повтарят  и ако резолтата е положителен
преисвоява нужните дани и испраща смс до указаниа по горе номер (в момента е емаил за да го тесвам)

в общи линии е това '<img'>
Активен