Ahmad Nur Salim

I do code sometimes

Sinau: bash - print-out alamat IP di terminal

Pada saat libur super panjang biasanya cuma berarti dua hal bagi saya: santai, leyeh-leyeh. Hehe. Tapi, alhamdulillah di sela-sela berleyeh-leyeh ria saya masih diingatkan untuk belajar.

Secara terpaksa (karena fungsi di kode hasil copas dari agan lucafav yang entah kenapa tidak jalan di OS saya) saya membuat skrip kecil. Fungsinya cuma print-out alamat IP saja. He he.

UPDATE (18-07-2016)

Saya menemukan masalah dengan skrip ini yang disebabkan file /sys/class/net/$interface/operstate adakalanya berisi “unknown” (padahal koneksi dalam posisi “up”). Akhirnya saya mencoba beralih menggunakan NetworkManager. Kode lama saya jadikan comment.

netIntf="$(ls /sys/class/net)"
for interface in $netIntf
do
 #state="$(cat /sys/class/net/$interface/operstate)"
 state="$(nmcli device show $interface | grep GENERAL.STATE | cut -d " " -f 27)"
 #if [[ $state == "up" ]]
 if [[ $state == 100 ]]
 then
   #echo "$(ifconfig | grep -A1 $interface | grep inet | sed -n p | cut -d " " -f 10)"
echo "$(nmcli device show $interface | grep IP4.ADDRESS | cut -d " " -f 26)"
   break
 fi
done