コンテンツにスキップ

Top

シェルスクリプトでIPアドレスを取得する方法

シェルスクリプト内でIPアドレスを1行で取りたいと思ったけどいまいちやり方わからん、と思ったので調べた。

Ubuntuの場合、以下の方法でいける。

1
ADDRESS=$(ifconfig enp2s0 | grep inet | awk '$1=="inet" {print $2}')

enp2s0 はIPアドレスを取得したいネットワークインターファース名。環境にあわせて変更する必要がある。例えばUbuntu20.04だとenp4s0とか。

しかしいつごろからeth0がenp2s0とか言う変な名前に変わったんだろう?

最近は ifconfig はつかわないぞなもし

令和は ifconfig じゃなく ip を使うべし。

1
ADDRESS=$(ip address show dev enp4s0 | grep inet | awk '$1=="inet" {print $2}')

ん? /24 まで入っちゃうな、邪魔くさい。

男は黙ってifconfig!

以上!