Как я могу получить IP-адрес текущей машины от Bash кроссплатформенным способом? Мне нужно получить IP-адрес одинаково для Windows Linux и Mac OS.
В настоящее время я использую docker-compose
для создания локальной версии моего полного развертывания, однако я не могу получить к ней доступ с помощью localhost или 127.0.0.1, я должен ссылаться на IP-адрес текущего компьютера, например curl 192.168.0.23:80
В настоящее время я заставляю пользователя устанавливать IP-адрес вручную:
# Return true if we pass in an IPv4 pattern.
not_ip() {
rx='([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])'
if [[ $1 =~ ^$rx\.$rx\.$rx\.$rx$ ]]; then
return 1
else
return 0
fi
}
# Ensure lower case
OPTION=$(echo $1 | tr [:upper:] [:lower:])
case "$OPTION" in
"test")
LOCAL_IP=${LOCAL_IP:-$2}
if not_ip "$LOCAL_IP" ; then
echo The test command couldn\'t resolve your computers Network IP. $LOCAL_IP
echo
help_comment
exit 1
fi
python -m webbrowser "http://${LOCAL_IP}:80/" &
;;
esac
Однако я бы хотел получить это без необходимости установки пользователем каких-либо переменных среды, особенно при работе с компьютерами Windows.
Есть идеи?