lunes, 21 de noviembre de 2016

Shell script en Bash para conocer los datos de tu network en GNU/Linux: IP interna, IP pública, MAC, DNS server, Gateway y Hostname

Copia y pega el siguiente código que aparece en letra cursiva entre barras en un archivo plano de texto con el siguiente nombre network.sh



#!/bin/bash
#author:monedasdejudas
function menu
{
echo 'Este cript permite conocer los datos de tu network'
echo
echo '_________Menu__________'
echo
echo '1. Internal IP adress'
echo '2. Public IP Address'
echo '3. MAC'
echo '4. DNS Server'
echo '5. Gateway'
echo '6. hostname'
echo '7. Salir del script' 
echo '______________________'
}
function write_option
{
echo
echo 'Escribe una opción'
read write_option
}
function option1
{
ifconfig | grep inet
}
function option2
{
curl ifconfig.me
}
function option3
{
ifconfig | grep HWaddr
}
function option4
{
cat /etc/resolv.conf
}
function option5
{
ip route show | grep default | awk {'print $3'}
}
function option6
{
hostname
}
function option7
{
echo 'Gracias por utilizar el script'
}

write_option=0
go_out=7

while [ $write_option -ne $go_out ];
do
clear
menu
write_option
if [ $write_option -ge 1 ] && [ $write_option -le 7  ];
then
clear
case $write_option in
1)
option1
;;
2)
option2
;;
3)
option3
;;
4)
option4
;;
5)
option5
;;
6)
option6
;;
7)
option7
;;
esac
else
echo 'Error: has introducido una opción no contemplada'
fi
echo
        echo "Pulse una tecla..."
        read
done


Concede permisos de ejecución al Shell script en bash para que pueda ejecutarse:

 monedasdejudas@linuxmint ~ $ sudo chmod +x network.sh

 Ejecuta el Shell script:

 monedasdejudas@linuxmint ~ $ bash network.sh