¿Cómo utilizar if-else en scripts de Shell?

Continuando con nuestro tutorial anterior sobre matrices en scripts de shell , entendamos cómo podemos usar if-else en scripts de shell.

La programación condicional es una parte importante de cualquier lenguaje de programación porque ejecutar cada una de las declaraciones de nuestro programa es, en la mayoría de los casos, indeseable.

Necesitamos una forma de ejecutar sentencias de forma condicional. El if-else en los scripts de shell sirve para esta situación exacta.

Condiciones en los scripts de shell

Una de las partes más importantes de la programación condicional son las sentencias if-else. Una sentencia if-else permite ejecutar sentencias condicionales iterativas en el código.

Usamos if-else en scripts de shell cuando deseamos evaluar una condición y luego decidimos ejecutar un conjunto entre dos o más conjuntos de declaraciones utilizando el resultado.

Esto esencialmente nos permite elegir una respuesta al resultado que evalúa nuestra expresión condicional.

¿Cómo funciona if-else en los scripts de shell?

Ahora sabemos qué es una función if-else y por qué es importante para cualquier programador, independientemente de su dominio. Para comprender el if-else en los scripts de shell, debemos analizar el funcionamiento de la función condicional.

Echemos un vistazo a la sintaxis del bloque de condición if-else.

if [condition]then   statement1else   statement2fi

Aquí tenemos cuatro palabras clave, a saber, if, then, else y fi.

  1. La palabra clave if va seguida de una condición .
  2. Esta condición se evalúa para decidir qué declaración ejecutará el procesador.
  3. Si la condición se evalúa como VERDADERA, el procesador ejecutará la(s) instrucción(es) seguida(s) de la palabra clave then . En la sintaxis, se menciona como statement1 .
  4. En el caso de que la condición se evalúe como FALSA, el procesador ejecutará la(s) instrucción(es) seguida(s) de la palabra clave else . Esto se denota como instrucción2 en la sintaxis de la función.

Es importante tener en cuenta que, al igual que la programación en C, los scripts de shell distinguen entre mayúsculas y minúsculas. Por lo tanto, debes tener cuidado al usar palabras clave en tu código.

Cómo utilizar if-else en un script de shell

Es fácil ver la sintaxis de una función y creer que sabes cómo usarla, pero siempre es mejor entender una función a través de ejemplos, ya que ayudan a entender el papel que desempeñan los diferentes aspectos de una función.

A continuación se muestran algunos ejemplos útiles de if-else en scripts de shell para darle una mejor idea de cómo utilizar esta herramienta.

Dominio Descripción
Y lógico
$0 Argumento 0, es decir, el comando que se utiliza para ejecutar el script.
$1 Primer argumento (cambie el número para acceder a más argumentos)
-ecuación Control de igualdad
-nordeste Comprobación de desigualdad
-es Menos que
-el Menor o igual que
-gt Más que
-ge Mayor que o igual

1. Uso de if-else para comprobar si dos números son iguales

Para entender el funcionamiento de una función como if-else en un script de shell, es bueno empezar por lo simple. Aquí, inicializamos dos variables a y b, luego usamos la función if-else para verificar si las dos variables son iguales. El script bash debería verse como sigue para esta tarea.

#!/bin/bashm=1n=2if [ $n -eq $m ]then        echo "Both variables are the same"else        echo "Both variables are different"fi

Producción:

Both variables are different

2. Uso de if-else para comparar dos valores

El uso más común de if-else en scripts de shell es para comparar dos valores. Comparar una variable con otra variable o con un valor fijo ayuda a que todo tipo de programadores la utilicen en distintos casos.

Para este ejemplo, inicializaremos dos variables y usaremos la función if-else para encontrar la variable que es mayor que la otra.

#!/bin/basha=2b=7if [ $a -ge $b ]then  echo "The variable 'a' is greater than the variable 'b'."else  echo "The variable 'b' is greater than the variable 'a'."fi

Producción:

The variable 'b' is greater than the variable 'a'.

3. Usar if-else para comprobar si un número es par

A veces nos encontramos con situaciones en las que necesitamos trabajar con números pares e impares y diferenciarlos. Esto se puede hacer con if-else en scripts de shell si recurrimos a la ayuda del operador módulo.

El operador módulo divide un número con un divisor y devuelve el resto.

Como sabemos que todos los números pares son múltiplos de 2, podemos usar el siguiente script de shell para verificar si un número es par o impar.

#!/bin/bashn=10if [ $((n%2))==0 ]then  echo "The number is even."else  echo "The number is odd."fi

Producción:

The number is even

Como puede ver, hemos encerrado una parte de la condición entre corchetes dobles. Esto se debe a que necesitamos que se realice la operación de módulo antes de verificar la condición.

Además, encerrar entre corchetes dobles ejecuta sentencias en estilo C, lo que le permite procesar algunos comandos de estilo C dentro de scripts bash.

4. Uso de if-else como una solicitud de contraseña simple

La función if-else es conocida por su versatilidad y rango de aplicación. En este ejemplo, utilizaremos if-else en un script de shell para crear la interfaz para una solicitud de contraseña.

Para ello, pediremos al usuario que introduzca la contraseña y la almacenaremos en la variable pass.

Si coincide con la contraseña predefinida, que es “contraseña” en este ejemplo, el usuario obtendrá el resultado “La contraseña es correcta”.

De lo contrario, el script de shell le dirá al usuario que la contraseña es incorrecta y le pedirá que lo intente nuevamente.

#!/bin/bashecho "Enter password"read passif [ $pass="password" ]then  echo "The password is correct."else  echo "The password is incorrect, try again."fi

Conclusión

La función if-else en un script de shell es un recurso importante para los programadores de shell. Es la mejor herramienta que se puede utilizar cuando se necesita ejecutar un conjunto de instrucciones en función de condiciones predefinidas.

El bloque if-else es una parte esencial de la programación condicional, si no la más importante. Al regular la ejecución de instrucciones específicas, no solo hace que su código sea más eficiente, sino que también libera el valioso tiempo que el procesador podría haber desperdiciado ejecutando instrucciones innecesarias para un caso específico.

Esperamos que este tutorial te haya ayudado a entender cómo usar la función if-else. Si tienes alguna pregunta, comentario o sugerencia, no dudes en escribirnos en los comentarios a continuación.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio