使用 bash 仅获取 linux 上的子网掩码号

tux*_*tku 0 linux bash grep sh subnet

我已经尝试过这个建议

ip -o -f inet addr show | awk '/scope global/ {print $4}'

但输出带有子网掩码的 IP 地址:

192.168.1.108/24

我只想要号码 24

Léa*_*ris 6

ip addr show可以输出 JSON 数据,因此它可以可靠地显式解析jq

ip \
  -family inet \
  -json \
  addr show |
    jq -r '.[].addr_info[0] | select(.scope == "global") | .prefixlen'
Run Code Online (Sandbox Code Playgroud)

man ip

-j, -json

以 JavaScript 对象表示法 (JSON) 输出结果。