個人的なまとめ。

てきとーに何か書きます。

シェルを使ってifconfigの「eth0」の部分だけを取得

プログラム内でネットワークデバイス(インターフェース)名を使用したい.

Ubuntu 14.04 LTSまでは有線はeth0を指定してあげれば良かったが,Ubuntu 15.10からは名前がenp2s0のような名前に変更されるので,シェルでその部分だけを取得しようと思う.

ifconfig | awk '{print $1}' | awk NR==1

だけで良い.
ifconfigで出力されたものを,awkで1列目だけを表示.その後awkで1行目を指定すれば出来る.

ただ,VM環境などのせいで有線の前にvmnetとかが入っている場合は,grep -vとかで弾けばいいんじゃないかと思う.

CentOSでifconfigを行うと,

enp2s0: 

という感じに,最後にコロンが付いてしまうので,これもシェルで取ってしまう.

ifconfig | awk '{print $1}' | awk NR==1 | sed -e "s/:/\ /g"

基本的にはUbuntuでもこのコマンドを使用してやれば,エラーは吐かれないので,Ubuntu,Cent問わずシェルを実行する事ができる.