Uso de If-Else en Scripts de Shell: Una Guía Práctica

El uso de estructuras condicionales es un pilar esencial de la programación, y los scripts de shell no son la excepción. La declaración if-else en shell scripting permite ejecutar un conjunto de instrucciones basadas en condiciones predefinidas. En este artículo, exploraremos cómo implementar la funcionalidad if-else en scripts de shell y veremos ejemplos prácticos.


Introducción a If-Else en Shell Scripting

La estructura if-else es clave para la programación condicional. Permite evaluar una condición y decidir entre ejecutar uno u otro conjunto de instrucciones. Este control evita la ejecución innecesaria de comandos y mejora la eficiencia de los scripts.

Sintaxis Básica de If-Else en Shell

if [ condición ]
then
# Instrucciones si la condición es verdadera
comando1
comando2
else
# Instrucciones si la condición es falsa
comando3
comando4
fi

Componentes Clave

  1. if: Evalúa una condición.
  2. then: Contiene las instrucciones a ejecutar si la condición es verdadera.
  3. else: Opcional; contiene las instrucciones a ejecutar si la condición es falsa.
  4. fi: Marca el final del bloque condicional.

Ejemplos Prácticos de If-Else en Shell

1. Verificar si Dos Números son Iguales

#!/bin/bash
a=10
b=20

if [ $a -eq $b ]
then
echo "Los números son iguales."
else
echo "Los números no son iguales."
fi

Resultado:

Los números no son iguales.

2. Comparar Dos Valores

#!/bin/bash
a=15
b=10

if [ $a -gt $b ]
then
echo "El valor de 'a' es mayor que el de 'b'."
else
echo "El valor de 'a' no es mayor que el de 'b'."
fi

Resultado:

El valor de 'a' es mayor que el de 'b'.

3. Verificar si un Número es Par o Impar

El operador modulus (%) ayuda a verificar si un número es par o impar.

#!/bin/bash
echo "Introduce un número:"
read num

if (( $num % 2 == 0 ))
then
echo "El número $num es par."
else
echo "El número $num es impar."
fi

Resultado:

Introduce un número:
7
El número 7 es impar.

4. Implementar un Prompt de Contraseña

Un ejemplo típico es utilizar if-else para crear un sistema de validación de contraseñas.

#!/bin/bash
password="admin123"
echo "Introduce tu contraseña:"
read user_pass

if [ "$user_pass" == "$password" ]
then
echo "Contraseña correcta. Acceso concedido."
else
echo "Contraseña incorrecta. Intenta nuevamente."
fi

Resultado:

Introduce tu contraseña:
admin123
Contraseña correcta. Acceso concedido.

Operadores Comunes para If-Else

OperadorDescripción
-eqIgual a
-neNo igual a
-ltMenor que
-leMenor o igual que
-gtMayor que
-geMayor o igual que
&&AND lógico
`

Ejemplo Avanzado: Verificar un Archivo

Este script verifica si un archivo existe en el sistema.

#!/bin/bash
echo "Introduce el nombre del archivo:"
read archivo

if [ -e "$archivo" ]
then
echo "El archivo '$archivo' existe."
else
echo "El archivo '$archivo' no existe."
fi

Resultado:

Introduce el nombre del archivo:
test.txt
El archivo 'test.txt' no existe.

Conclusión

El bloque if-else es una herramienta indispensable en los scripts de shell. Proporciona flexibilidad para manejar diferentes escenarios y permite escribir scripts dinámicos y eficientes. Desde la validación de contraseñas hasta la verificación de condiciones de sistema, if-else es un componente esencial para cualquier desarrollador que utilice shell scripting.

Si deseas profundizar más, considera explorar variantes como elif, combinaciones lógicas, y el uso de bucles junto con condiciones para tareas más complejas.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×