"internet connection tester script"
Polytropon
freebsd at edvax.de
Sat Mar 27 12:22:16 UTC 2010
On Sat, 27 Mar 2010 13:07:14 +0100, Jozsef Vadkan <jozsi.avadkan at gmail.com> wrote:
> Why doesn't my "internet-connection" script work?
>
> When I plug the ethcable out, it just waits...and waits...and waits...
It doesn't even work correctly: Now as I definitely have
Internet connection, it prints "NO INTERNET CONNECTION".
Allow me a comment:
#!/bin/bash
This is Linux. It is not portable. FreeBSD is NOT Linux.
In FreeBSD, the standard scripting shell is the Bourne
shell /bin/sh. Unless you don't require things that are
specific to bash, use the correct shebang for shm which is
#!/bin/sh
If you intendedly want to use bash, specify it correctly:
#!/usr/local/bin/bash
The bash is an additional package for FreeBSD, it does not
belong to the OS itself. It needs to be installed. Of
course, there's a way to make bash available as /bin/bash
statically linked, but with all thoughts to interoperability,
I wouldn't rely on this.
Let me bring the script into a more easily readable form
and allow me to say something about it:
#!/bin/sh
function internet_connection_ok
{
echo "Testing internet connection....please wait..."
if ping -W 1 -c 4 bix.hu | grep -q "4 received"; then
if ping -W 1 -c 4 www.yahoo.com | grep -q "4 received"; then
echo "NET is OK"
else
echo "NO INTERNET CONNECTION"
exit 1
fi
else
echo "NO INTERNET CONNECTION"
exit 1
fi
}
internet_connection_ok
Basically, you're relying on a 100 % correct reception of
pings from two specified host to see if Internet is up and
running. In case of package loss, even with running Internet
(e. g. 4 sent, 3 received), the script would say that there's
no Internet connection, which is false. Additionally, you're
giving only 1 ms for reply, which may not be enough for a
slow (but stable) connection. Finally, you're relying on
DNS to get the IPs to ping for bix.hu and www.yahoo.com.
I'm not sure if this resolve time is important here, too.
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list