web-dev-qa-db-ja.com

UNIXシェルスクリプトでシステムでIPv6が有効になっているかどうかを検出するにはどうすればよいですか?

Linux、Mac OSX、さらにはCygwinなどのさまざまなPOSIX環境で実行されているシェルスクリプトがあります。スクリプトは、特定のシステムでIPv6が有効になっているかどうかを確実に検出する必要があります。例えば。少なくともIPv6ローカルループバック(:: 1)を使用できます。したがって、問題は、システムでUNIXシェルでPOSIX互換の方法でipv6が有効になっているかどうかを検出する方法です。

7
Ales Teska

これは、次のように/proc/net/if_inet6の存在を確認することでテストできます。

test -f /proc/net/if_inet6 && echo "IPv6 supported" || echo "IPv6 not supported"

WindowsのUbuntu、Mint、Raspberry Pi、Bash Shellでテストしましたが、これらすべての環境で動作します。

11
Bouke