我的理解是
tcp6 用于通过 IPv6 的连接,tcp 用于通过 IPv4 的连接。
和
::ffff:127.0.0.1 表示映射到 IPv4 地址的 IPv6 地址。
但是当我使用 netstat 在像这样的端口上查找打开的连接时
netstat -anp | grep 31210
我得到输出
tcp 0 0 ::ffff:127.0.0.1:64876 ::ffff:127.0.0.1:31210 ESTABLISHED 23755/java
这意味着,IPv6 通信是使用 tcp 完成的。
这怎么可能?
我需要检查一个字符串并确保它不包含给定字符列表之外的任何字符。
我写了一个脚本来测试这个:
str="$1"
regex="^[0-9a-zA-Z\,\!\-\^\`@\{\}\[\],=\(\).;\/~_|]*$"
if [[ "$str" =~ $regex ]]
then
echo "f yeah"
else
echo "f you"
fi
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。在我看来,我什至不接近。
允许的字符列表是:
a-z A-Z 0-9 ` @ { } [ ] ^ , = ! ( ) . ; / ~ _ |
Run Code Online (Sandbox Code Playgroud)
不确定我在这里缺少什么。