On Jun 2, 2006, at 11:54 AM, Wing Wong wrote: > On 6/2/06, Charles Howse <chowse at charter.net> wrote: > >> What might I be doing wrong? > > Short answer? Ping's error output needs to be redirected to > standard out: > > ping ..... 2>&1 | grep .... > > Also need to take into account when the logfile doesn't exist. > > Longer answer: > > In your code, the data tested and the data written would not be the > same since you are trying to run the same test again when you write to > the file. Included below is a variation of your script. You can change > the logfile value at the start of the script instead of having to > change every instance of it throughout the script. > > Tail command using the short parameter version. > > Ping's output redirected. > > Logfile presence checked beforehand. > > > #!/bin/sh > host=24.159.64.20 > logfile=ping_results.txt > > if [ ! -f $logfile ]; then > echo "$logfile either doesn't exist or isn't a file! Please > check!" > exit 1 > fi > > test=`ping -c 5 $host 2>&1 | grep packets` > look=`tail -1 ping_results.txt` > > if [ "$test" == "$look" ] ; then > : > else > echo >> $logfile > date >> $logfile > echo "$test" >> $logfile > fi > > exit 0 That works fine, thanks very much! -- A Great place to have fun and learn about Barbecue - http://bubbabbq.homeunix.net