私のIPアドレスを取得する方法

私のIPアドレスを取得する方法

上記のIPを表示したいのですが、問題が見つかりました。 eth0: エラーが発生します。誰でも助けることができますか?

#!/bin/sh

echo "%{F#2495e7} %{F#ffffff}$(/usr/sbin/ifconfig eth0 | grep "inet " | awk '{print $2}')%{u-}"

ベストアンサー1

次のコマンドを使用してIPアドレスを表示できますip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enxb827eb315364: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:31:53:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.18/24 brd 192.168.1.255 scope global noprefixroute enxb827eb315364

loこれには、IPv4アドレスを持つループバックインターフェイス127.0.0.1enxb827eb315364IPv4アドレスを持つイーサネットインターフェイスという2つのインターフェイスがあります192.168.1.18。このシステムはIPv6を実行しないため、IPv6アドレスはリストされません。

IP アドレス自体のみを含むリストが必要な場合 (たとえば、プログラムで処理)、次のように使用できます。

ip --json addr show | jq -r '.[] | select(.ifname != "lo") | .addr_info[].local'

192.168.1.18

システムに外部インターフェイスが1つしかない場合でも、IPアドレスが複数ある場合があります。複数のアドレス(IPv4またはIPv6)が1行に1つずつ一覧表示されます。

おすすめ記事