Advertisement
angeldp

verIP.sh

Jun 9th, 2016
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.00 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # verIP.sh
  4. # Autor: angeldp
  5. # Descripción: El script mostrará por pantalla la
  6. # dirección IP del equipo donde se ejecute.
  7.  
  8. clear
  9.  
  10. # Comprueba si el usuario es root
  11. if [ "$USER" != "root" ]
  12.     then
  13.     echo "Tienes que ser root. Usa sudo."
  14.     read -n1 -s -p "Pulse para finalizar" NADA
  15.         clear
  16.         exit
  17. fi
  18. # Se comprueba si existe el fichero interfaces
  19. # si no existe salimos del script.
  20. if ! [ -f /etc/network/interfaces ]
  21.     then
  22.     echo "No se encuentra el fichero de configuración de las interfaces de red."
  23.     read -n1 -s -p "Pulse para finalizar" NADA
  24.     clear
  25.     exit
  26. fi
  27. # Comprobamos que tenemos permisos de lectura sobre interfaces
  28. if ! [ -r /etc/network/interfaces ]
  29.         then
  30.         echo "No tiene permiso de lectura en interfaces"
  31.         read -n1 -s -p "Pulse para finalizar" NADA
  32.         clear
  33.         exit
  34. fi
  35.  
  36.  
  37.  
  38. # Uso la variable IPSTATIC para guardar la IP
  39. # si se ha configurado de forma estática.
  40. # Y la variable IPIFCONFIG para obtener su IP
  41. # desde el comando ifconfig
  42.  
  43. IPIFCONFIG=`ifconfig 2> /dev/null | grep "inet addr:" | head -1 | cut -d: -f2 | cut -d " " -f1`
  44. IPSTATIC=`more /etc/network/interfaces 2> /dev/null | grep address | cut -d" " -f2`
  45.  
  46. # Comparo ambas variables y si son iguales
  47. # almaceno en RESULTADO "de forma estática"
  48. # Si no se ha configurado mediante el fichero
  49. # interfaces, entonces la Variable IPSTATIC
  50. # no tendrá nada, mientras que IPIFCONFIG
  51. # seguirá almacenando la IP del equipo, así que
  52. # guardo en RESULTADO "mediante DHCP"
  53.  
  54. if [ "$IPIFCONFIG" = "$IPSTATIC" ]
  55.     then
  56.     RESULTADO="de forma estática"
  57. else
  58.     RESULTADO="mediante DHCP"
  59. fi
  60. # En PING guardo el número de paquetes recibidos.
  61. PING=`ping -c 4 8.8.8.8 | grep received | cut -d, -f2 | cut -d" " -f2`
  62. # Si es cero, quiere decir que no hay conexión con el exterior
  63. if [ $PING -eq 0 ]
  64.     then
  65.     RES="no tienes conectividad"
  66. else
  67.     RES="tienes conectividad"
  68. fi
  69. # Mostramos el resultado
  70. echo "Tu dirección IP es $IPIFCONFIG; se ha configurado $RESULTADO y $RES"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement