CentOS 6.4 で Bash を使用して、AWK を使用して IP アドレスに関連付けられたネットワーク インターフェイス名を取得しようとしています。Solaris ボックスから少しコマンドを取得しましたが、それを Linux 出力に変換する方法がわかりません。
コマンドは次のようになります。
ifconfig -a | awk '
$1 ~ /:/ {split($1,nic,":");
lastif=sprintf("%s:%s",nic[1],nic[2]);}
$2 == "'$1'" { print lastif ; exit; }
'
これはスクリプトの一部なので、次のようなコマンドライン引数を取りmonitor.sh x.x.x.x y.y.y.y
、最初の xxxx を使用してインターフェイス名を取得し、$1 == $2 にして、後で yyyy に ping できるようにします。Solaris ではifconfig -a
出力が CentOS とは異なると思います。IP とインターフェイスが同じ行にある場合はインターフェイス名を取得できますが、Linux では 2 つの異なる行にあります。何か案は。