GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo usar if-else en Shell Scripts?

Avanzando desde nuestro tutorial anterior sobre matrices en scripts de shell, comprendamos 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, en la mayoría de los casos, no es deseable ejecutar todas las instrucciones de nuestro programa.

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

Condiciones en Shell Scripts

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

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

Básicamente, esto 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 if-else en los scripts de shell, debemos desglosar el funcionamiento de la función condicional.

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

if [condition]
then
   statement1
else
   statement2
fi

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

  1. La palabra clave si va seguido de una condición .
  2. Esta condición se evalúa para decidir qué instrucción ejecutará el procesador.
  3. Si la condición se evalúa como VERDADERO, el procesador ejecutará las declaraciones seguidas de la palabra clave entonces . En la sintaxis, se menciona como statement1 .
  4. En caso de que la condición se evalúa como FALSO, el procesador ejecutará las declaraciones seguidas de la palabra clave else . Esto se denota como statement2 en la sintaxis de la función.

Una cosa importante a tener en cuenta es que, al igual que la programación en C, los scripts de shell distinguen entre mayúsculas y minúsculas. Por lo tanto, debe tener cuidado al usar las palabras clave en su código.

Cómo usar if-else en script de shell

Es fácil ver la sintaxis de una función y creer que sabes cómo usarla. Pero siempre es una mejor opción entender una función a través de ejemplos porque te ayudan a entender el papel que juegan los diferentes aspectos de una función.

Estos son algunos ejemplos útiles de if-else en scripts de shell para darle una mejor idea de cómo usar esta herramienta.

Comando Descripción
&& Y lógico
|| O lógico
$0 Argumento 0, es decir, el comando que se usa para ejecutar el script
$1 Primer argumento (cambie el número para acceder a más argumentos)
-equivalente Comprobación de igualdad
-ne Control de desigualdad
-lt Menor que
-le Menor que o igual
-gt Mayor que
-ge Mayor que o igual

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

Cuando se trata de comprender el funcionamiento de una función como if-else en un script de shell, es bueno comenzar las cosas de manera 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 tener el siguiente aspecto para esta tarea.

#!/bin/bash
m=1
n=2

if [ $n -eq $m ]
then
        echo "Both variables are the same"
else
        echo "Both variables are different"
fi

Salida:

Both variables are different

2. Usando if-else para comparar dos valores

El uso más común de if-else en scripts de shell es para comparar dos valores. La comparación de una variable con otra variable o con un valor fijo ayuda en una variedad de casos por parte de todo tipo de programadores.

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

#!/bin/bash
a=2
b=7
if [ $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

Salida:

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 tratar y diferenciar entre números pares e impares. Esto se puede hacer con if-else en scripts de shell si tomamos la ayuda del operador de módulo.

El operador de 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/bash
n=10
if [ $((n%2))==0 ]
then
  echo "The number is even."
else
  echo "The number is odd."
fi

Salida:

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 ejecuta declaraciones en estilo C, lo que le permite procesar algunos comandos de estilo C dentro de scripts bash.

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

La función if-else es conocida por su versatilidad y variedad de aplicaciones. En este ejemplo, usaremos if-else en el script de shell para crear la interfaz para una solicitud de contraseña.

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

Si coincide con la contraseña predefinida, que es 'contraseña' en este ejemplo, el usuario obtendrá el resultado como:"La contraseña es correcta".

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

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

Conclusión

La función de if-else en el script de shell es un activo importante para los programadores de shell. Es la mejor herramienta para usar cuando necesita ejecutar un conjunto de declaraciones basadas en condiciones predefinidas.

El bloque if-else es una, si no la parte más esencial de la programación condicional. Al regular la ejecución de declaraciones 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 declaraciones que son innecesarias para un caso específico.

Esperamos que este tutorial haya podido ayudarlo a comprender cómo usar la función if-else. Si tiene alguna consulta, comentario o sugerencia, no dude en comunicarse con nosotros en los comentarios a continuación.


Linux
  1. Cómo usar entradas en sus scripts de shell

  2. ¿Cómo eliminar los privilegios de raíz en los scripts de Shell?

  3. ¿Cómo usar booleanos en Fish Shell?

  4. ¿Cómo probar el cumplimiento de Posix de los scripts de Shell?

  5. ¿Qué son los scripts de Shell? ¿Cómo crear scripts de Shell?

Cómo usar el comando echo en Bash Scripts en Linux

Cómo instalar y usar ZSH Shell en Linux

Cómo usar las extensiones de GNOME Shell [Guía completa]

Cómo instalar y usar Nu Shell en Linux

¿Cómo leer argumentos de línea de comando en scripts de Shell?

¿Cómo usar Linux Bash Shell dentro de Windows 10?