estructuras de control 1.0
TRANSCRIPT
![Page 2: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/2.jpg)
De las clases anteriores
⦿Shell scripting1.La primera línea siempre debería indicar cuál es la ruta al intérprete de comandos (shell) que queremos que utilice Linux⚫#! /bin/bash
2.Los comentarios siempre se indican comenzando la línea con el signo #, lo que está detrás no se ejecuta
![Page 3: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/3.jpg)
De las clases anteriores
⦿Shell scripting1.El comando echo sirve para mostrar texto por la salida estándar⚫Por lo tanto, se puede redireccionar⚫Echo “Algo para poner en mi archivo” >> archivo.txt
2.El comando read sirve para pedirle al usuario que ingrese un valor que vamos a guardar en una variable⚫read –p “Ingrese un número: ” num1
![Page 4: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/4.jpg)
De las clases anteriores
⦿Shell scripting1.Para utilizar el valor de una variable debo anteponer el prefijo $⚫echo “mi variable tiene el valor $var”
2.Para realizar operaciones aritméticas con enteros puedo utilizar el comando expr⚫expr 100 / 5⚫expr 100 “*” 5
![Page 5: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/5.jpg)
Estructura condicional IFif [ expresión condicional ]
thenacción(es)
elif [ expresión condicional 2 ]then
acción(es)else
acción(es)fi
![Page 6: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/6.jpg)
Estructura condicional IF⦿Si la expresión condicional es verdadera se ejecutan la o las acciones que están antes que else, elif (o else if) o fi⦿Si la expresión es falsa, se saltan esas acciones y ejecuta lo que está después (puede ser else o puede ser fi)⦿fi señala el fin de la estructura, la secuencia de ejecución sigue su curso normal con lo que está después en el script
![Page 7: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/7.jpg)
Estructura condicional IF⦿Nosotros usamos normalmente esta estructura para comparar dos cosas del mismo tipo (dos números o dos palabras)
⦿En GNU/Linux también podemos utilizarla para saber acerca del estado de un archivo (si existe, si está vacío, qué permisos tiene, si es un directorio)
![Page 8: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/8.jpg)
Estructura condicional IFNúmeros Enteros Cadenas de texto Función
-gt \> Mayor que
-lt \< Menor que
-ge \>= Mayor o igual que
-le \<= Menor o igual que
-eq = Igual
-ne != No igual (diferentes)
![Page 9: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/9.jpg)
Ejemplo del uso de if
Una cadena es mayor que otra si está después en el diccionario
Para las cadenas hay que escapar (poner \ delante de) los símbolos mayor y menor (con los iguales correspondientes)
![Page 10: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/10.jpg)
Ejemplo del uso de if#! /bin/bashread –p “ingrese un numero: ” nu1read –p “ingrese otro numero: ” nu2if [ $nu1 –ne $nu2 ] # tiene que haber espacio [ ]
then echo “$nu1 y $nu2 no son iguales”
elseecho “$nu1 y $nu2 son iguales”
fi
![Page 11: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/11.jpg)
Ejemplo del uso de if
⦿Para ejecutar recuerden antes siempre: ¿qué?•Cambiar los permisos con chmod
⦿Para ejecutar se utiliza qué comando?•./nombre_Script
![Page 12: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/12.jpg)
Ejercicios
⦿Crear un script que pida el nombre al usuario y si el nombre no es igual a Carlitos, le pregunte: “¿Dónde está Carlitos?”, pero si es igual lo salude: “Hola Carlitos tanto tiempo”
![Page 13: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/13.jpg)
Ejercicios
⦿Crear un script que compare una palabra ingresada por el usuario con la palabra “iglesia”. El programa debe decirnos si la palabra ingresada está antes, después o es igual a la palabra guardada
![Page 14: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/14.jpg)
Ejercicios
⦿Crear un script que pida dos palabras al usuario y nos diga cuál de las dos está antes en el diccionario o si son iguales
![Page 15: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/15.jpg)
Ejercicios
⦿Crear un script que pida al usuario que ingrese s si quiere ver un listado de los archivos ordenados, si ingresa cualquier otra cosa la salida debe mostrar todos los detalles de los archivos guardados en el directorio /bin (paginados)
![Page 16: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/16.jpg)
Ejercicios
⦿Crear un script que pida al usuario dos números, si el primero es mayor, entonces hace la resta del primero menos el segundo. Si el primero es menor, entonces suma ambos números. Muestra el resultado en la pantalla
![Page 17: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/17.jpg)
Estructura condicional IF-f El archivo existe y es un archivo común
-s El archivo no está vacío
-r El archivo tiene permiso de lectura
-w El archivo tiene permiso de escritura
-x El archivo tiene permiso de ejecución
-d El archivo es un directorio
![Page 18: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/18.jpg)
Ejemplo con archivos#! /bin/bashif [ -f /bin/ls ] ; then
echo “el archivo ls existe”fiif [ -f /bin/nada ]; then
echo “el archivo nada existe” else
echo “el archivo nada no existe”fi
![Page 19: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/19.jpg)
Estructura de selección case
![Page 20: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/20.jpg)
Estructura de Selección case
⦿La vamos a utilizar para hacer los menús
⦿Vamos a aprender varias formas con la estructura while
![Page 21: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/21.jpg)
Estructura de Selección case
⦿Sintaxis:case expresión in
caso 1) comandos ;;caso 2) comandos ;;
…*) comandos por defecto;;
esac
![Page 22: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/22.jpg)
Ejemplo de menú simple
#! /bin/bashclearecho “ MENU1)Listar archivos del directorio /bin2)Listar archivos del directorio /usr/bin ”read –p “Ingrese la opción deseada: ” op
![Page 23: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/23.jpg)
Ejemplo de menú simple
case $op in1) ls - l /bin/* | less ;;2) ls - l /usr/bin | less ;;*) echo “opcion invalida” ;;
esacsleep 2
![Page 24: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/24.jpg)
Ejercicios de case
⦿Mostrar un menú que pida al usuario que ingrese qué operación matemática desea realizar. Si la opción no es ninguna de las vistas (+ - * / ) el programa debe salir avisando que se produjo ese problema. En cambio si la opción es correcta debe ejecutar la operación correspondiente y mostrar el resultado
![Page 25: Estructuras de control 1.0](https://reader031.vdocuments.mx/reader031/viewer/2022030305/5874175c1a28abcb5b8b5a87/html5/thumbnails/25.jpg)
Ejercicios de case
⦿Mostrar al usuario un menú que diga si quiere crear un archivo o un directorio, en cada caso debe pedir el nombre del archivo o directorio.⦿Si no es ninguna de las opciones, el programa debe salir avisando que ha ocurrido un problema