#! /usr/bin/env dash # shellcheck disable=SC2086 # shellcheck source=/dev/null #. ~/.local/lib/shell/lib . %SHELL_LIBRARY_PATH LIB_TEMP_DIR_FOR_SCRIPT=$(mktemp -d) retest=120 retest_if_con_fails=10 backend=nmcli case "$backend" in "nmcli") # Test for connectivity with nmcli while true; do connection_status=$(nmcli networking connectivity) if [ "$connection_status" = "full" ]; then echo "internet|string|Connected" echo "" sleep $retest else echo "internet|string|Disconnected" echo "" sleep $retest_if_con_fails fi done ;; "ping") # Test for connectivity with ping ip_address='8.8.8.8' ping_number=3 while true; do ping_result=$(mktmp) ping $ip_address -c $ping_number -q | awk 'BEGIN {FS="/"} END {print $5}' > $ping_result if [ "$(cat $ping_result | wc -l)" -eq 0 ]; then echo "med|string|No connection" echo "" sleep $retest_if_con_fails else echo "med|string|$(cat $ping_result) ms" echo "" sleep $retest fi done ;; esac if [ -d "$LIB_TEMP_DIR_FOR_SCRIPT" ];then rm -r "$LIB_TEMP_DIR_FOR_SCRIPT"; fi # vim: ft=sh