使用bash仅获取linux上的子网掩码号
我已经尝试过这个建议:
ip -o -f inet addr show | awk '/scope global/ {print $4}'
但输出带有子网掩码的 IP 地址:
192.168.1.108/24
我只想要号码 24
回答
ip addr show可以输出 JSON 数据,因此它可以可靠地显式解析jq:
ip
-family inet
-json
addr show |
jq -r '.[].addr_info[0] | select(.scope == "global") | .prefixlen'
man ip:
-j,-json以 JavaScript 对象表示法 (JSON) 输出结果。