Thanks Rex, yes that's a much better way of doing it.

Still having difficulty though - I think its either with quotes or
semi-colons now...

As I understand it, ";" are required between statements that are in
places where only one statement is expected.  So, keeping it to it's
simplest form:

SYNHOST=caalt04
ping -c 1 $SYNHOST
if [ $? -eq 0 ] ; then
   echo "Synergy connected"

else

   echo "Synergy NOT connected"

fi

Returns:

PING caalt04.caa.local (192.168.0.183) 56(84) bytes of data.
64 bytes from caalt04.caa.local (192.168.0.183): icmp_seq=1 ttl=64 time=0.172 ms

--- caalt04.caa.local ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.172/0.172/0.172/0.000 ms
Synergy connected
: not founddefault: 11: else
Synergy NOT connected

So the ping command works but the if statement doesn't - the else
isn't recognised so it's doing both commands.

Reply via email to