2. De las clases anteriores
⦿Shell scripting
1.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
3. De las clases anteriores
⦿Shell scripting
1.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
4. De las clases anteriores
⦿Shell scripting
1.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
5. Estructura condicional IF
if [ expresión condicional ]
then
acción(es)
elif [ expresión condicional 2 ]
then
acción(es)
else
acción(es)
fi
6. 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
7. 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)
8. Estructura condicional IF
Nú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)
9. 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)
10. Ejemplo del uso de if
#! /bin/bash
read –p “ingrese un numero: ” nu1
read –p “ingrese otro numero: ” nu2
if [ $nu1 –ne $nu2 ] # tiene que haber espacio [ ]
then
echo “$nu1 y $nu2 no son iguales”
else
echo “$nu1 y $nu2 son iguales”
fi
11. Ejemplo del uso de if
⦿Para ejecutar recuerden antes siempre: ¿qué?
•Cambiar los permisos con chmod
⦿Para ejecutar se utiliza qué comando?
•./nombre_Script
12. 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”
13. 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
14. 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
15. 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)
16. 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
17. 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
18. Ejemplo con archivos
#! /bin/bash
if [ -f /bin/ls ] ; then
echo “el archivo ls existe”
fi
if [ -f /bin/nada ]; then
echo “el archivo nada existe”
else
echo “el archivo nada no existe”
fi
20. Estructura de Selección case
⦿La vamos a utilizar para hacer los menús
⦿Vamos a aprender varias formas con la estructura
while
21. Estructura de Selección case
⦿Sintaxis:
case expresión in
caso 1) comandos ;;
caso 2) comandos ;;
…
*) comandos por defecto;;
esac
22. Ejemplo de menú simple
#! /bin/bash
clear
echo “ MENU
1)Listar archivos del directorio /bin
2)Listar archivos del directorio /usr/bin ”
read –p “Ingrese la opción deseada: ” op
23. Ejemplo de menú simple
case $op in
1) ls - l /bin/* | less ;;
2) ls - l /usr/bin | less ;;
*) echo “opcion invalida” ;;
esac
sleep 2
24. 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
25. 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