[shell scripting]uitvoer van grep -c in var zetten

Pagina: 1
Acties:
  • 117 views sinds 30-01-2008
  • Reageer

  • xychix
  • Registratie: September 2000
  • Laatst online: 03-12-2025

xychix

FreeBSD Rules !

Topicstarter
code:
1
2
3
4
5
6
justscanned = grep isdn_tty /var/log/messages | grep -i -c '618****18 -> 383****11'
if justscanned > previousscanned
{
    /etc/ppp/ip-up
}
previousscanned = justscanned

bovenstaande pseudo code wil ik omzetten in een shell script, welke om de 5 minuten zal draaien..

hierover 2 vragen...

1 blijven variables bewaard na het draaien van het script ?
ik moet namelijk de variable previousscanned gebruiken, deze verteld mij hoevaak mijn gsm nummer in de logs voor kwam bij de vorige grep (bij de vorige run v/h script).
als de nieuwe grep mijn telefoonnr vaker tegenkomt dan moet hij in gaan bellen

2 hoe krijg ik de uitvoer van grep -c in een variable ??

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad


  • Dryw.Filtiarn
  • Registratie: September 2001
  • Laatst online: 18-03 12:10
Of de vars bewaard blijven is mij onbekend, ik geloof dat je dan in ieder geval iets met export kunt doen...

Het is een var zetten van uitvoer is eenvoudig:
code:
1
DEVAR=`grep blablabla`

=( Protected by witchcraft )=


  • xychix
  • Registratie: September 2000
  • Laatst online: 03-12-2025

xychix

FreeBSD Rules !

Topicstarter
thanks,

> werkt ook niet nou las ik iets over -gr

je moest dus -gr gebruiken ipv > maar ook dat werkt niet.
hij print ook in deze situatie nl "er zijn een or meerdere entries bijgekomen"



hieronder mijn script tot nu toe
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
OLDSCAN=`cat oldscan.txt`

NEWSCAN=`/bin/grep -c "6*********8 -> 3*******9" /var/log/messages`

echo "NEWSCAN:  $NEWSCAN"
echo "OLDSCAN: $OLDSCAN"
if [ "$NEWSCAN" -gr "$OLDSCAN" ];then echo "er zijn een of meerdere entries bij gekomen !"
fi

OLDSCAN=$NEWSCAN

echo "the NEW > OLDSCAN : $OLDSCAN"

echo "$OLDSCAN" > oldscan.txt

smoothwall heeft geen compiler anders had ik het "even" in C geschreven.

wel staat er perl op geloof ik maar is perl nou een proggrammeer taal (moet je compilen) of een script taal ?? kan ik .pl uitvoeren (en hoe)


Het werkt nu bijna op die if constructie na!

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad


  • xychix
  • Registratie: September 2000
  • Laatst online: 03-12-2025

xychix

FreeBSD Rules !

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
OLDSCAN=`cat oldscan.txt`

NEWSCAN=`/bin/grep -c "6*******8 -> 3*******9" /var/log/messages`

#echo "NEWSCAN:  $NEWSCAN"
#echo "OLDSCAN: $OLDSCAN"

if [ "$NEWSCAN" -gt "$OLDSCAN" ];then 
#    echo "er zijn een of meerdere entries bij gekomen !"
    /etc/ppp/ip-up
fi

OLDSCAN=$NEWSCAN

#echo "the NEW > OLDSCAN : $OLDSCAN"

echo "$OLDSCAN" > oldscan.txt

HIJ DOET HET !!

-gr moest -gt zijn |:(
code:
1
2
3
4
5
crontab -e
I
*/2 * * * * /root/letmein.bash
ESC
:wq

nu nog ff
code:
1
chmod 755 /root/letmein.bash

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad