Ada banyak cara untuk melakukannya.
Ini salah satunya:
ip addr show dev eth0 | sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'
Ini mirip dengan jawaban Robert, kecuali menghapus alamatnya saja.
Anda dapat menggunakan:
ip -6 addr
Ini akan mengembalikan semua alamat IPv6 yang telah Anda konfigurasikan.
Jika Anda menggunakan Linux, Anda juga dapat mengurai:/proc/net/if_inet6
Kolom pertama adalah IPv6 lengkap tanpa titik dua. Kolom keenam adalah nama antarmuka.
Di sini versi yang agak panjang tidak dioptimalkan (Saya hanya sekarang dasar-dasar awk) Mungkin python/perl adalah pilihan yang lebih baik.
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
Jika Anda memiliki GNU awk (gawk) ini dapat disingkat menjadi:
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
Anda dapat memasukkannya ke dalam fungsi {ba,z,}sh untuk digunakan nanti.
Variabel lingkungan LANG dan LANGUAGE dalam sistem berbasis Debian
ddclient memperbarui ke IP lokal, bukan IP publik