GNU/Linux >> Linux の 問題 >  >> Linux

Linux/bash:インターフェイスの IPv6 アドレスを取得するには?

これを行う方法はたくさんあります。

ここに 1 つがあります:

ip addr show dev eth0 | sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'

アドレスのみを削除する点を除いて、Robert の回答に似ています。


以下を使用できます:

ip -6 addr

構成したすべての IPv6 アドレスが返されます。


Linux を使用している場合は、/proc/net/if_inet6 も解析できます。

最初の列はコロンなしの完全な IPv6 です。6 番目の列はインターフェース名です。

ここでは、最適化されていないかなり長いバージョン (awk の基本のみを説明します) 多分 python/perl の方が良い選択です.

for i in "$(grep enp0s25 /proc/net/if_inet6)"; do
    echo "$i" | awk '{
        split($1, _, "[0-9a-f]{,4}", seps)
        joined = sep = ""
        for (i=1; i in seps; i++) {
            joined = joined sep seps[i]
            sep = ":"
        }
        print joined
    }'
done

GNU awk (gawk) を使用している場合、これは次のように短縮できます:

for i in "$(grep enp0s25 /proc/net/if_inet6)"; do
    echo "$i" | gawk '@include "join"
    {
        split($1, _, "[0-9a-f]{,4}", seps)
        print join(seps, 1, length(seps), ":")
    }'
done

後で使用するために {ba,z,}sh 関数に入れることができます。


Linux
  1. LinuxでBashプロンプトを短縮する方法は?

  2. Linux でインターフェイスの IP アドレスを取得する

  3. Linux の特定のインターフェイスで ipv6 を無効にする方法は?

  1. Linux – / procからインターフェイスのIpv4アドレスを取得する方法は?

  2. Linuxでディレクトリサイズを取得する方法

  3. Scientific Linux で ldapsearch を取得するには?

  1. LinuxでIPアドレスを見つける方法

  2. IP アドレスを抽出する Linux bash スクリプト

  3. bashからネットマスクを取得するには?