So zeigen Sie mit `ip addr show` nur Links eines bestimmten Typs an

So zeigen Sie mit `ip addr show` nur Links eines bestimmten Typs an

Wie kann man erreichen, ip addr showdass nur Links eines bestimmten Typs angezeigt werden, ohne einen sekundären Prozess wie grep zum Filtern zu verwenden?

EntsprechendMann 8 IP-Adresse, dies sollte mit dem Folgenden möglich sein, aber wenn ich dies ausführe, erhalte ich keine Ergebnisse:

ip addr show type "link/loopback"
ip addr show type "loopback"

Antwort1

Kurz und einfach:

hostname -i

Normalerweise suche ich nicht nach Loopback, sondern nach der IP.

hostname -I 

Und wenn Sie beides wollen, während Sie den Textlärm reduzieren und Farbe hinzufügen

ip addr | grep inet 

Antwort2

Ich habe das letztendlich in Python gemacht. Ich habe nicht versucht, es mit grep zu übersetzen.

import re
import shlex
import subprocess

""" Return a list of interface name strings """

RE_PATT = "^\d+: (\w+).+\n +link/loopback"
proc = subprocess.run(
    shlex.split("ip link show"),
    stdout=subprocess.PIPE,
    universal_newlines=True,
)
interface_list = re.findall(RE_PATT, proc.stdout, re.MULTILINE)

verwandte Informationen