このコマンドラインはありますが、grep
長さは2倍ですawk
ifconfig eth1 2> /dev/null | grep "inet " | awk '{gsub("addr:","",$2); print $2 }' ||
ifconfig eth0 2> /dev/null | grep "inet " | awk '{gsub("addr:","",$2); print $2 }'`
私は次の方法でこの時間を短縮しようとしました。
echo $(ifconfig eth1 2> /dev/null || ifconfig eth0 2> /dev/null) &> grep "inet " |
awk '{gsub("addr:","",$2); print $2 }'
しかし、サーバーのIPを取得しようとすると、何も返されません。エラーがある場合に情報を取得する最良の方法は何ですか?これを試して次に送信してください。grep
ベストアンサー1
別のモジュラーアプローチ:bashに限定されない
get_ifconfig () {
for iface do
ifconfig "$iface" 2>/dev/null && return
done
}
get_ifconfig eth1 eth2 eth3 | sed -n 's/.*inet addr:\([0-9.]\+\).*/\1/p'