cleanup: shfmt, shellcheck, and whitespace
[webi-installers/.git] / myip / myip.sh
index aa6980cdeb53e03765bf2faf93d0292acd59a24a..ca57d6c493ba5ceab3a72dc07741c27393817b9a 100644 (file)
@@ -1,17 +1,23 @@
 #!/bin/bash
 
-{
-    set -e
+function __show_my_ip {
     set -u
+    set -e
 
-    ipv4=$(curl -s https://api.ipify.org)
-    ipv6=$(curl -s https://api6.ipify.org)
+    ipv4=$(curl -s https://api.ipify.org || true)
+    ipv6=$(curl -s https://api6.ipify.org || true)
 
-    if [ -n "$ipv4" ]; then
+    if [[ -n ${ipv4} ]]; then
         echo "IPv4 (A)   : $ipv4"
     fi
 
-    if [ -n "$ipv6" ] && [ "ipv6" != "ipv4" ]; then
+    if [[ -n $ipv6 ]] && [[ "ipv6" != "ipv4" ]]; then
         echo "IPv6 (AAAA): $ipv6"
     fi
+
+    if [[ -z $ipv4 ]] && [[ -z "ipv6" ]]; then
+        echo >&2 "error: no public IP address"
+    fi
 }
+
+__show_my_ip