Bash: Las condiciones (if-then-else)

  • Categoría: Linux
  • Publicado hace más de 3 años
Bash: Las condiciones (if-then-else)



Hello 

 
En esta ocasión les mostraré cómo hacer un script con condición en Bash, lo cual traducido es:


Cita: Mostrar

imple la explicación no 
Ahora, he pensado durante unos minutos algún ejemplo para usar en este tutorial, se me ha ocurrido el siguiente dilema/problema/situación:


Cita: Mostrar


Una vez hecho esto, ahora les explicaré cómo hacer un ciclo con condiciones 

 
Eh aquí el código:

Cita: Mostrar


No se preocupen, les explico esto al detalle 

 
ping es el comando que usaremos, y nos dirá si esa PC está en red. Para decirle qué PC queremos comprobar si está o no en red, debemos cambiar DIRECCION-IP por obviamente, la dirección IP de la PC que deseamos comprobar.

 
Como ven, puse ?-c 1?, lo cual nos es necesario. Cuando hacemos ping a un ordenador, esta acción no se detiene (el ping) hasta que nosotros mismos presionemos [Ctrl]+[C], por lo que poniendo ?-c 1? le indicamos que haga solo una verificación (solo un intento de ping) y ningún otro, esto hará que se detenga al instante, o sea? comprobará si el ordenador está en red solo una vez.

 
Si tienen dudas con esto, sin pena? lo dicen y yo con MUCHO gusto se los explico de nuevo 

 
Ahora viene el ciclo, pues lo que acabo de explicar no es más que un comando/acción normal 

 
Cita: Mostrar

Para que entiendan esto, les explicaré un detalle sumamente importante de Bash 

 
Los más conocedores del tema me podrían tildar de equivocado o algo así, pero bueno, esto lo escribo para lo novatos o menos expertos, mientras ellos lo entiendan entonces genial 

 
Sucede que como en Bash es algo así como 0 y 1, o sea, o estás vivo o estás muerto, cuando se ejecuta un comando o acción: O se ejecutó bien sin problemas (1), o hubo algún problema o error (0).

 
Nosotros efectuamos X acción o comando, y esto que hicimos puede haberse efectuado bien o mal, puedo haber tenido error o no, y aquí es donde está el detalle 

 
Si lo que mandamos a hacer (en este caso: ping -c 1 DIRECCION-IP) no dió error y se efectuó bien, entonces devolverá el valor: 1 . En caso contrario, y que la acción (o sea, el ping) no fuese exitoso, devolverá valor 0.

 
 Y finalmente, lo que significa el código anterior es esto:
Cita: Mostrar


Esto que les acabo de explicar, nos servirá en un futuro para muchísimas cosas, pues es realmente útil poder decir que si X acción dió error, haga Y acción, y en caso de que X acción no haya dado error, que haga Z acción.

Sé que a algunos podría liaros un poco, por lo que he intentado explicarlo de varias formas diferentes, intentando que todos lo entiendan de una vía u otra. En caso de que alguien se quede con dudas, me lo hace saber.

Ahora, hagamos nuestro script

Debemos seguir los pasos de este tutorial: Bash:como hacer un script ejecutable

Luego copiemos el siguiente código en ese archivo (script.sh), y al final pongamos ?exit? (sin las comillas):

Cita: Mostrar


Les debe quedar así (recuerden que deben haber cambiado DIRECCION-IP por la IP que desean):




Aquí pueden ver el script en ejecución:



Como ven, al final nos dice ?Sí está en red
 
Lo importante aquí es que en realidad entiendan esto de las condiciones, por lo que les dejo otro código para volver a explicarlo, pero desde otro punto de vista.


Cita: Mostrar



Lo que esto significa es simple, les dejo línea a línea la explicación:

Cita: Mostrar


Como han podido darse cuenta, si ponemos echo y seguidamente entre comillas dobles (?) un texto, esto hará que se muestre en la terminal ese texto. O sea, si ponemos:

Cita: Mostrar


Nos mostrará en la terminal el texto: esto es una prueba

 
Pero volviendo a este segundo ejemplo, les mostraré la utilidad (y ejecución) de este segundo script con algo MUY simple  ? el típico ?cuánto es 1 + 2??

 
Les dejo el código del script completo:


Cita: Mostrar

Les dejo aquí cómo funciona el script:






Y bueno? nada más que agregar.
 Esto es algo elemental, simple sí, pero aún así he intentado explicarlo lo mejor posible, pues no todos tienen alma de programador, y muchas veces necesitamos hacer scripts como estos (o similares), de cualquier forma espero que este artículo le sea de utilidad a alguien


Bash: Las condiciones (if-then-else)
0 Puntos Score: 0/10
Visitas: 376 Favoritos: 0
0 Comentarios Bash: Las condiciones (if-then-else)
Este post no tiene comentarios. Sea el primero!
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!