Imprimir
Categoría: Bash
Visto: 12411

En PC Resumen vamos explicar en este artículo el funcionamiento de las entradas de valores por teclado y los condicionales en los scripts para Bash.

Entradas por teclado

A veces es necesario pasar valores por teclado y asignarlos a una variable. Un ejemplo donde se suele hacer es en los scripts que contienen puntos de menú. Para almacenar una entrada por teclado se usa el comando "read". Veamos un ejemplo de como funciona:

#!/bin/bash
read valorPorTeclado
echo "Valor entrado por teclado: "$valorPorTeclado

En el caso de no almacenar el valor que entramos por teclado mediante el comando "read" en una variable nuestra, se almacenará automáticamente en la una variable propia de Bash llamada "$REPLY". Veamos como funciona mediante el siguiente ejemplo:

#!/bin/bash
read 
echo "Valor entrado por teclado sin almacenarlo en una variable: "$REPLY

Los condicionales en Bash

Los condicionales son importante para "explicarle" a la máquina, como debemos proceder en una tarea cuando se cumplen o no ciertas circunstancias. Para indicarle en Bash que queremos aplicar una condición usaremos siempre los comandos "if", "then" y "fi" que son los elementos fundamentales que sirven para hacer una condición. Una condición normalmente esta formada por los siguientes términos:

Veamos ahora un de ejemplo de como funcionan los condicionales:

#!/bin/bash

# Vamos a leer por teclado un valor y lo compararemos haciendo una condición
# Si escribimos "1", entraremos en el if, si escribimos "2" en el elif y si escribimos cualquier otra cosa en el else.

echo "Por favor introduzca un valor:"
read condicion
if [ $condicion = 1 ]; then
    echo "Se cumple la condicion if"
elif [ $condicion = 2 ]; then
    echo "Se cumple la condicion elif"
else
    echo "No se ha cumplido ni el if, ni el elif"
fi

Una forma de realizar la misma acción sin escribir tantas líneas de condicionales "elif" es usando sentencia "case-in-esac". Cuando la variable de la sentencia coincide con alguno de las condiciones, se ejecuta el conjunto de comandos asociados a esa condición. Veamos un ejemplo de como funciona:

#!/bin/bash
# Vamos a leer por teclado un valor y lo compararemos haciendo una case-in-esac
# Si escribimos "1", entraremos la primera opción, si escribimos "2" en la segunda y si escribimos cualquier otra cosa en "*".

echo "Por favor introduzca un valor:"
read
case "$REPLY" in
1) echo "Escribiste 1" ;;
2) echo "Escribiste 2" ;;
*) echo "Escribiste otra opción que no fue ni la '1' ni la '2'" ;;
esac

Aquí termina la explicación a "Las entradas por teclado y condicionales en Bash", espero que os haya servido de ayuda. En el próximo artículo hablaremos de las "Funciones en Bash". Si tenéis alguna duda, os podéis poner en contacto con nosotros a través del formulario de contacto de la Web o bien escribiendo un correo electrónico a Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo..