¡Descarga Sistemas Informaticos Linux y más Diapositivas en PDF de Sistemas Informáticos solo en Docsity!
TEMA 9
Programación
Bash: Shell
Scripting
Sistemas Informáticos
José Rafael Aguilera García
1.Introduccion al
scripting en
Linux
Introducción
al scripting
en Linux
Programación de Scripts
Script = Guión
- Tareas repetitivas que se pueden agrupar en un guión y ejecutarse automáticamente (Batch Processing).
- El shell scripting permite utilizar las capacidades de la programación para automatizar multitud de tareas
- De otra forma se requeriría múltiples comandos introducidos de forma manual.
- Es sencillo ejecutar 4 comandos para crear un buzón de correo.
- No lo es tanto para crear 20.000 buzones a mano, pero si es sencillo hacer un bucle que se repita 20.000 veces
Introducción
al scripting
en Linux
Programación de Scripts
- Un lenguaje de scripting también comienza por código fuente, pero no se compila en un ejecutable.el
- En su lugar, un intérprete lee las instrucciones del fichero fuente y las ejecuta secuencialmente.
- Los programas interpretados son, en general, lentos que los compilados.más
- La principal ventaja reside en que el fichero de código fuente es fácilmente portable a cualquier sistema operativo.
- Los lenguajes de programación interpretados están en auge: Java, Javascript, PHP, Python, HTML
Introducción
al scripting
en Linux
Primeros script en Bash
2.Variables y
acciones básicas
Variables
y
acciones
básicas
Definición de variables
- Como en cualquier lenguaje de programación, en shell scripting se pueden utilizar variables.
- Todos los valores son almacenados como cadenas de texto.
- También hayoperadores matemáticos que convierten las variables en números para el cálculo.
Variables
y
acciones
básicas
Uso de comillas
- Si quisiéramos utilizar las comillas simples y mostrar datos de variables podríamos hacerlo de la siguiente manera:
- Si no es una asignación a una variable las comillas son opcionales.
- Se recomienda usarlas siempre para no liarse y detectar más fácilmente errores.
Variables
y
acciones
básicas
Variables de entorno
una shell, ya haymuchas variables definidas, son las variables de entorno.
- Variables más usadasPATH, HOME, USER, SHELL relacionadas con el entorno de usuario.
- Podemos modificar variables de entorno con PATH=$PATH
- Dicha modificación no será permanente a menos que lo hagamos en el fichero ~/.bash_profile
generar
- Variables que producen datos como RANDOM.
- Más adelante veremos como usarla para cualquier numero aleatorio.
Variables
y
acciones
básicas
Lectura de datos
- Permite las siguientes opciones: read –s (no hace echo de la entrada) read –nN (acepta sólo N caracteres de entrada) read –p “mensaje” (muestra un mensaje) read –tT (espera por un tiempo máximo de T segundos) - EJERCICIO 1: Crear un script que pida por teclado el nombre de usuario y el mail, imprimiendo de manera organizada dicha información. - EJERCICIO 2: Escribe un script que pida por teclado el nombre de un fichero de texto y que a continuación muestre el contenido de ese fichero.
Variables
y
acciones
básicas
Operadores aritméticos
- Una expresión aritmética se puede evaluar usando $[expression] ó $((expression))
- Las operaciones disponibles son: + suma - resta *** multiplicación** / división **** exponenciación** % módulo
Variables
y
acciones
básicas
Operadores aritméticos
- EJERCICIO 3: Escribir un programa en el cual se ingresen cuatro números, calcular e informar la suma de los dos primeros y el producto del tercero y el cuarto. - EJERCICIO 4: Escribe un script que calcule el área de un cuadrado. - EJERCICIO 5: Un colegio desea saber qué porcentaje de niños y qué porcentaje de niñas hay en el curso actual. Diseñar un script bash para este propósito - EJERCICIO 6: Dado un script que lee 3 variables llamadas z, x, r programar la expresión aritmética:
5 * ((x % 3) * (6 + (z + 3) / (r – 3)))
Variables
y
acciones
básicas
Parámetros de entrada
- Es posible pasar los parámetros o argumentos que queramos y utilizarlos dentro del script.
- Parámetros posicionales $1, $2, $3... ${10}, ${11} $0 es el propio script.
- Parámetros especiales $#: número de argumentos que noshan pasado. $:* todos los argumentos. “$*” = “$1 $2 $3...” $_: comando anteriormente ejecutado. $$: PID del propio proceso shell. $?: Código de error del último. El 0 indica sin errores