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.
