如何检测系统是否在 UNIX shell 脚本中启用了 IPv6?
How to detect if system has IPv6 enabled in a UNIX shell script?
我有一个 shell 脚本,它正在各种 POSIX 环境中执行,例如 Linux、Mac OSX 甚至 Cygwin。该脚本需要可靠地检测给定系统是否启用了 IPv6。例如。我至少可以使用 IPv6 本地环回 (::1)。
所以问题是:
如何检测系统是否以 POSIX 兼容的方式在 UNIX shell 中启用了 ipv6?
这可以通过检查 /proc/net/if_inet6
是否存在来测试,如下所示:
test -f /proc/net/if_inet6 && echo "IPv6 supported" || echo "IPv6 not supported"
我已经在 Windows 中的 Ubuntu、Mint、Raspberry PI 和 Bash shell 上对其进行了测试,它可以在所有这些环境中运行。
我有一个 shell 脚本,它正在各种 POSIX 环境中执行,例如 Linux、Mac OSX 甚至 Cygwin。该脚本需要可靠地检测给定系统是否启用了 IPv6。例如。我至少可以使用 IPv6 本地环回 (::1)。 所以问题是: 如何检测系统是否以 POSIX 兼容的方式在 UNIX shell 中启用了 ipv6?
这可以通过检查 /proc/net/if_inet6
是否存在来测试,如下所示:
test -f /proc/net/if_inet6 && echo "IPv6 supported" || echo "IPv6 not supported"
我已经在 Windows 中的 Ubuntu、Mint、Raspberry PI 和 Bash shell 上对其进行了测试,它可以在所有这些环境中运行。