Bueno,los voy a seguir poniendo pero como estoy enseñando poco en cada entrada,le dedicare una a cada parte de bash,pero al final,hare un tipo sitemap con todas las entradas de programacion bash.
Ya si no funciona los cancelo como los de python,que no tuvieron ni un solo comentario :(
Bueno esta es la parte numero 3
Parte 1
Parte 2
Y en esta ocasión veremos
Condicionales (if,fi,then,else,elif)
Bash es un lenguaje de programación como cualquier otro,y igual que en otro lenguaje incluye los condicionales para poder ejecutar una fracion de codigo si este se cumple o ejecutar otra fraccion de codigo si no se cumple.
Igual que en otros
Bueno en bash los condicionales se definen de esta manera
#!/bin/bash
# Condicion
if [ condicion1 = condicion2 ]
then
codigo a ejecutar
exit 0
fi
Explicación
if es si del ingles,en texto plano y en español seria:
si la condicion 1, es igual a la condicion 2, ejecuta el condigo de abajo
Pero esto va mas aya ya que requiere el valor then para cerrar la condición if y ademas el valor exit 0 para cerrar el código,y el valor fi para cerrar toda la condicion desde que inicia if
#!/bin/bash
# Condicion
if [ condicion1 = condicion2 ] # Evaluando la condición(debe ir entre [])
then # Se cierra la evaluación
codigo a ejecutar # Codigo a ejecutar si se cumple
exit 0 # Cerrar cuando se cumpla
fi # Se cierra toda la condicion
Ahora un ejemplo de esto mezclado con las variables de la entrada pasada, seria así:
#!/bin/bash
A=1
B=2
if [ $A = $B ]
then
echo 'Si es'
exit 0
fi
Cópienlo y ejecútenlo como vimos en la entrada uno
Al ejecutarlo no hará nada ya que no se cumplió,me explico:
#!/bin/bash
# Definiendo Variables
A=1
B=2
# No son iguales
if [ $A = $B ] # Juzgando las condiciones( es A igual a B),el signo $,es para llamar la variable
# No son iguales
then
echo 'Si es'
exit 0
fi
Como vimos no son iguales A y B así que no hará nada porque lo que le indicamos, lo indicamos para que lo hiciera si se cumplía(y no se cumplió)
Ahora copien y ejecuten este
#!/bin/bash
# Definiendo Variables
A=1
B=1
# No son iguales
if [ $A = $B ] # Juzgando las condiciones( es A igual a B),el signo $,es para llamar la variable
# Si son iguales
then
echo 'Si es igual A y B'
exit 0
fi
¡Que diferencia!
Ahora,como vimos en el primer ejemplo no se ejecuta nada porque no se cumple la condición y en el segundo si se ejecuta porque se cumple la condición,¿pero como hacer para que se ejecute un código si se cumple y otro si no se cumple?
La respuesta es doble ya que hay dos respuestas
1.Sacar el código dela condición if fi como se hace en javascript y este se ejecutara al no pertenecer al codigo
Por ejemplo(Cópienlo y ejecútenlo):
#!/bin/bash
# Definiendo Variables
A=1
B=3
if [ $A = $B ] # Juzgando las condiciones( es A igual a B),el signo $,es para llamar la variable
# No son iguales
then
echo 'Si, es igual A y B'
exit 0
fi # Termina la condición
# Ahora se ejecuta esto
echo 'No es igual'
exit
¿Pero si lo queremos en la misma condicion?
Esa respuesta es la misma que la segunda opción y es usar el comando else,que es sino, en lugar,etc
Por ejemplo en texto plano seria:
¿A y B son iguales?,(if)si son ejecuta esto echo 'Si es igual A y B' si no (else) ejecuta esto echo 'No son iguales'
Ejemplo(Copia y Ejecuta)
#!/bin/bash
# Definiendo Variables
A=1
B=3
if [ $A = $B ] # Juzgando las condiciones( es A igual a B),el signo $,es para llamar la variable
# ¿Son iguales? No son iguales
then
echo 'Si es igual A y B'
exit 0
# Ahora se ejecuta esto
else # Si no
echo 'No es igual'
exit
fi # Termina la condición
Así de fácil
Vamos a ponerle mas emocion a esto con la interaccion de nosotros,vamos a usar el comando read para comunicarnos con el scriptPor ejemplo si queremos jugar un poco vamos a usar el comando read para darle un valor a la variable desde la misma consola al momento de ejecutarla
Ejemplo(Copia y ejecútalo):
#!/bin/bash
# Definimos nuestro nombre y lo guardamos en una variable
tu_nombre="Escribe tu nombre" # Edita esta parte
echo 'Como te llamas'
# Nos pregunta
read nombre
# Si lo que escribas es igual a la variable con tu nombre...
if [ $nombre = $tu_nombre ]
then
echo 'Bienvenido' # Se ejecuta esto
exit 0
else # Si no...
echo 'Largo de aquí' # Se ejecuta esto
fi
Ahora, no solo existe if y else también existe un punto medio llamado elif,que lo podríamos usar de esta manera,por ejemplo
#!/bin/bash
echo 'Adivina el numero'
echo 'Una pista esta entre el 1 y el 10'
read numero
if [ $numero = 6 ]
then
echo 'Acertaste'
exit 0
elif [ $numero = 5 ]
then
echo 'Casi, intenta de nuevo'
else
echo 'No,intenta de nuevo'
fi
Como vemos para intentar de nuevo,necesitamos ejecutar de nuevo el código una y otra vez,para que no suceda esto tenemos que hacer uso de un bucle,pero esto lo veremos después
Aquí una muestra de lo que veremos mas adelante(copien y ejecuten)
#!/bin/bash
echo 'Quieres ver el calendario'
function Calendario
{
cal
}
function No
{
echo 'Entonces vete a visitar Tiempo de Tux'
}
read opcion
case $opcion in
si|SI)
Calendario
;;
no|NO)
No
;;
*)
echo 'Esa no es una opcion'
esac
Me viene bien y quiero q sea asi basico :)
ResponderBorrarThanks
Gracias por comentar :D
BorrarMe gusta hacerlo fácil para que sea una introducción a el conocimiento,la simplicidad ayuda a el entendimiento y no necesariamente se aprende algo facil
Saludos
brtoher como que has cancelado lo de python man estan bravasos lo de bash creeme a ver si me ayudas con lo de python gracias y mil gracias mas por tuayuda a conocer mas a fondo el mundo de linux exitos
ResponderBorrarbravasoo gracias
ResponderBorrarmuy bueno el tutorial...
ResponderBorrarPor nada :D
ResponderBorrar