Existuje mnoho způsobů, jak to můžete udělat.
Tady je jeden:
ip addr show dev eth0 | sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'
Podobá se Robertově odpovědi, s tím rozdílem, že pouze vyškrtne adresu.
Můžete použít:
ip -6 addr
Vrátí všechny adresy IPv6, které jste nakonfigurovali.
Pokud používáte Linux, můžete také analyzovat:/proc/net/if_inet6
První sloupec je úplný IPv6 bez dvojteček. Šestý sloupec je název rozhraní.
Zde je poněkud zdlouhavá neoptimalizovaná verze (teď teprve základy awk) Možná je lepší volbou 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
Pokud máte GNU awk (gawk), lze to zkrátit na:
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
Můžete ji vložit do funkce {ba,z,}sh a použít ji později.
Proměnné prostředí LANG a LANGUAGE v systémech založených na Debianu
ddclient se aktualizuje na místní IP místo na veřejnou IP