4

基本的に、このコマンドが行うことは、外部 IP アドレスを取得するために Web ドメインに安全に接続することです。これは Linux Debian システムでは問題なく動作しますが、私の OpenBSD システムでは正しく動作しません。Curl コマンドは正常に動作しますが、curl がパイピングしている IP を取得していないため、Grep コマンドで問題が発生しています。

-Eo は OpenBSD では動作しませんか? マニュアルページではわかりません..

USERAGENT="Mozilla/4.0"
WEB_LOCATION="https://duckduckgo.com/?q=whats+my+ip"

curl -s --retry 3 --max-time 5 -tlsv1.2 --user-agent $USERAGENT $WEB_LOCATION | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'

******** 解決済み (ちょっと) ********

私は何らかの理由でこの特定のパターンを解決しました:

grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'

は OpenBSD では動作しませんでしたが、この長いバージョンでは動作します..

grep -Eo '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'

最初の検索パターンは、私が使用した Debian Linux のすべてのバージョンで正常に動作するため、なぜこれが当てはまるのかは非常に紛らわしいです!

4

1 に答える 1