Scripting BASH



Un script para bash es un archivo tipo texto, cuyas líneas tienen comandos que son ejecutados (interpretados) por bash. Para lograr que el intérprete de comandos intérprete las líneas de un archivo puede:
  • Ejecutar /bin/bash seguido del nombre del archivo (o redireccionar la entrada estándar para que provenga del archivo).
  • Emplear el comando source seguido del nombre del archivo.
  • Emplear el caracter '.' seguido de un espacio y el nombre del archivo.
  • Agregar en la primera línea del archivo la cadena #!/bin/bash, dar permiso de ejecución al archivo y teclear el nombre del archivo desde el intérprete de comandos ---como si fuera un nuevo comando.

    Ejemplos:

    1. Creamos el archivo
    nano ejemplo

    2. Ponemos el contenido, (Siempre comienza con #!/bin/bash)
    #!/bin/bash
    ifconfig eth0
    ping -c2 www.google.com

    3. Guardamos el archivo. Posteriormente le damos permisos de ejecución al archivo. 
    chmod 755 ejemplo

    4.lo ejecutamos
    ./ejemplo

    5. Nos muestra la ip de la interfaz eth0 y le hace 2 pings a google comporbando que tenemos red.

    EJEMPLO MAS INTERESANTE.

    Quien hay en mi red?

    #!/bin/bash

    is_alive_ping()
    {
      ping -c 1 $1 > /dev/null
      [ $? -eq 0 ] && echo Node with IP: $i is up.
    }

    for i in 192.168.0.{1..255}  (EDITAR TU ID RED AQUI)
    do
    is_alive_ping $i & disown
    done

    for i in $@
    do
    ping -c 1 $i &> /dev/null

    if [ $? -ne 0 ]; then
            echo "`date`: ping failed, $i host is down!" | mail -s "$i host is down!" my@email.address 
    fi
    done


    Explicación a fondo, recomendado. http://www.tldp.org/LDP/Bash-Beginners-Guide/html/

Comentarios

Entradas populares