Sentencia If
Parte de la sección Fundamentos del Journey de Terminal de Coddy — lección 70 de 82.
Hasta ahora, tus scripts ejecutan cada comando de arriba hacia abajo sin tomar decisiones. Pero ¿qué pasa si quieres que tu script haga cosas diferentes según ciertas condiciones? Ahí es donde entra la sentencia if.
La declaración if permite que tu script tome decisiones. Comprueba si una condición es verdadera, y si es así, ejecuta un bloque de código. Esta es la estructura básica:
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fiLa condición va dentro de corchetes cuadrados con espacios alrededor de ella. La palabra clave then marca el inicio del código a ejecutar, y fi (if al revés) termina la instrucción.
También puedes manejar el caso cuando la condición es falsa usando else:
#!/bin/bash
age=15
if [ $age -ge 18 ]; then
echo "You are an adult"
else
echo "You are a minor"
fiLos operadores de comparación comunes para números incluyen -eq (igual), -ne (no igual), -gt (mayor que), -lt (menor que), -ge (mayor o igual) y -le (menor o igual). Para cadenas, use = para igualdad y != para desigualdad.
Recuerda siempre incluir espacios dentro de los corchetes y poner comillas a tus variables para evitar errores con valores vacíos.
Desafío
FácilCrea un script de shell llamado check_score.sh que use una instrucción if para evaluar una puntuación de prueba.
Tu script debe:
- Comenzar con la línea shebang (
#!/bin/bash) - Crear una variable llamada
scorecon el valor75 - Usar una instrucción if para verificar si la puntuación es mayor o igual a 70
- Si es verdadero, imprimir:
You passed! - Si es falso, imprimir:
You failed.
Haz que el script sea ejecutable y ejecútalo. Dado que la puntuación es 75, tu salida debería ser:
You passed!Pista: Recuerda usar
-gepara la comparación de "mayor o igual que", incluir espacios dentro de los corchetes y terminar tu instrucción if confi.
Hoja de referencia
La instrucción if permite que los scripts tomen decisiones basadas en condiciones:
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fiLa condición va dentro de corchetes cuadrados con espacios alrededor. Use then para marcar el inicio del bloque de código y fi para terminar la instrucción.
Use else para manejar casos cuando la condición es falsa:
#!/bin/bash
age=15
if [ $age -ge 18 ]; then
echo "You are an adult"
else
echo "You are a minor"
fiOperadores de comparación comunes:
- Números:
-eq(igual),-ne(no igual),-gt(mayor que),-lt(menor que),-ge(mayor o igual),-le(menor o igual) - Cadenas:
=(igualdad),!=(desigualdad)
Siempre incluya espacios dentro de los corchetes y entrecomille las variables para evitar errores con valores vacíos.
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Directorios
Crear Un DirectorioCopiar Un DirectorioMover Y Renombrar Un DirectorioEliminar Un DirectorioResumen - Operaciones Con Directorios7Contenido de Archivos
Head y TailConteo de PalabrasComando SortComando UniqGrep BásicoGrep con FlagsResumen - Detective de Texto10Proyecto Analizador de Registros
Resumen del ProyectoVisualizando el Archivo de Registro13Fundamentos de Scripting en Shell
Qué es un Script de ShellCrear y Ejecutar un ScriptVariables en ScriptsEntrada de Usuario en ScriptsSentencia IfBucle ForBucle WhileRepaso - Adivina el Número2Navegación
Imprimir Directorio de TrabajoListar ArchivosCambiar de DirectorioRutas Absolutas vs RelativasDirectorio Home y RaízRepaso - Encuentra tu Camino8Redirección
Salida EstándarSobrescribir en un ArchivoAnexar a un ArchivoEntrada EstándarError EstándarResumen - Constructor de Registro11Permisos
Entendiendo PermisosLeyendo PermisosChmod con NúmerosChmod con SímbolosPropiedad de ArchivosResumen - Bloquéalo14Proyecto de Script de Copia de Seguridad
Visión General del ProyectoObteniendo la Ruta de Origen3Archivos
Crear un ArchivoLeer un ArchivoCopiar un ArchivoMover y Renombrar un ArchivoEliminar un ArchivoResumen - Operaciones con Archivos6Comodines y Patrones
El comodín asteriscoEl comodín interroganteComodines de corchetesCombinando comodinesRepaso - Operaciones selectivas9Tuberías
Qué es una tuberíaEncadenando dos comandosEncadenando múltiples comandosTubería con GrepResumen - Tubería de datos