#!/bin/sh TestHosts="4.2.2.4 8.8.8.8" PingTrials=2 pingtest () { # TODO: replace with something parallel for i in $(seq 1 $PingTrials); do for h in $2; do ping -c 1 -w 5 -I $1 $h &>/dev/null if [ $? -eq 0 ]; then exit 0; fi done done } case "$1" in internet) pingtest eth1 $TestHosts ;; vpn) pingtest tun0 $TestHosts ;; *) echo "Usage: $0 " >&2 ;; esac exit 1