パブリックIPアドレスを解決しようとすると、空の文字列が表示されます
ip=$(Dig +short myip.opendns.com @resolver1.opendns.com)
何らかの理由で、opendnsも私にとって仕事では機能しません。例えばコマンドに問題はありません。単に、opendnsが特定のクエリに応答して、一部の設定でパブリックIPアドレスを見つけていないということです。
Googleは、使用しているパブリックIPアドレスを見つけるための同様のサービスも提供しています。行う:
ip=$(Dig TXT +short o-o.myaddr.l.google.com @ns1.google.com)
IPv6が存在する場合はそれが優先されるため、IPv4の回答を強制するには、次のようにします。
ip=$(Dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com)