#!/bin/sh set -eu usage() { cat <<-'EOF' Usage: getip [-4|-6] getip -h EOF } help() { cat <<-'EOF' Options: -4 get IPv4 -6 get IPv6 (default) -h, --help show this message The the internet facing IP address of the current machine. Examples: Expose IPv6:: $ echo "http://$(getip -6)/sub/" >> index.html EOF } for flag in "$@"; do case "$flag" in (--) break ;; (--help) usage help exit ;; (*) ;; esac done V=6 while getopts '46h' flag; do case "$flag" in (4) V=4 ;; (6) V=6 ;; (h) usage help exit ;; (*) usage >&2 exit 2 ;; esac done shift $((OPTIND - 1)) curl -s https://euandre.org/b/ipv"$V"