summaryrefslogtreecommitdiff
path: root/etc/functions/check_ping
diff options
context:
space:
mode:
Diffstat (limited to 'etc/functions/check_ping')
-rw-r--r--etc/functions/check_ping20
1 files changed, 20 insertions, 0 deletions
diff --git a/etc/functions/check_ping b/etc/functions/check_ping
new file mode 100644
index 0000000..80ea8ea
--- /dev/null
+++ b/etc/functions/check_ping
@@ -0,0 +1,20 @@
+## vim:ft=zsh
+## check_ping -return true if a host responds to ICMP echo requests
+typeset -i ipv6 ret
+
+while [[ $1 == -* ]] {
+ case $1 in
+ -6) ipv6=1 ;;
+ esac
+ shift
+}
+
+typeset dst=$1
+shift
+
+if ((ipv6)) {
+ ping6 -c 1 $dst &> /dev/null
+} else {
+ ping -c 1 $dst &> /dev/null
+}
+return