22 lines
635 B
Bash
Executable file
22 lines
635 B
Bash
Executable file
#!/usr/bin/env zsh
|
|
# Echos your local or WAN IP
|
|
|
|
if [[ $1 == -w ]]; then
|
|
wan=1
|
|
shift
|
|
fi
|
|
|
|
if [[ $wan ]]; then
|
|
dig +short myip.opendns.com @resolver1.opendns.com
|
|
else
|
|
IF=$(netstat -rn | awk '/^0.0.0.0/ {thif=substr($0,74,10); print thif;} /^default.*UG/ {thif=substr($0,65,10); print thif;}')
|
|
if _is_callable ifconfig; then
|
|
ifconfig ${NET_IF} | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'
|
|
elif _is_callable ip; then
|
|
ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/'
|
|
else
|
|
>&2 echo "No easy way to grab your IP"
|
|
exit 1
|
|
fi
|
|
fi
|