Laboratorio 15 - Programacion de Shell Scripts
Laboratorio 15 - Programacion de Shell Scripts
DD-106
Laboratorio 15 - Shell Scripts
Página 2
Alumno(s) Nota
Grupo C24 – A
Ciclo III
Fecha 23/11/2021
I. OBJETIVOS
II. SEGURIDAD
Advertencia:
En este laboratorio está prohibida la manipulación de hardware, conexiones
eléctricas o de red; así como la ingestión de alimentos o bebidas.
○ Ubicar maletines y/o mochilas en el gabinete al final del aula de laboratorio o en los
casilleros asignados al estudiante.
○ Al culminar la sesión de laboratorio apagar correctamente la computadora y la
pantalla, y ordenar las sillas utilizadas.
IV. RECURSOS
○ Computadora con Vmware Workstation.
○ Máquina virtual con Ubuntu Server 18.04.
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 3
VI. PROCEDIMIENTO
NOTA
Toda captura de pantalla deberá ir acompañada del hostname de sistema operativo.
1. Cree el directorio scripts dentro del directorio hogar del usuario principal y ubíquese en
él. En este directorio se definirán los scripts de este laboratorio:
$ mkdir ~/scripts
$ cd ~/scripts
2. Cree un script y ejecútelo para comprobar el valor de las variables del sistema:
● Cree el archivo de texto varSistema.sh con el siguiente código:
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 4
● Note que las variables del sistema tienen permanentemente un valor asociado.
● Si crea una variable y le asigna un valor, todo esto en la consola, ¿podrá acceder al valor
de la variable dentro de un script? Justifique su respuesta:
Si, esto es posible debido al signo de dólar este nos permite crear nuevas
variables en las cuales podemos usar los valores de home, paht y logname.
● ¿Qué diferencia encuentra entre las comillas (" ") y los apóstrofes (' ')?
Como podemos observar las comillas están interpretando el valor dentro de
estas, y por otro lado los apostrofes están expresando el texto ingresado de
manera literal.
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 5
NOTA
Es posible agregar secuencias de escape a los scripts para modificar el formato del texto.
Tenemos disponibles las siguientes:
● 033[0m Normal
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 6
● 033[1m Negrita
● 033[5m Parpadeante
● 033[31m, 033[32m, …, 033[37m Distintos colores
Por ejemplo, la segunda línea del script podría escribirse de la siguiente manera y se
mostraría el valor de la variable en negrita:
● Explique el por qué del error si es que no ingresamos espacios vacíos alrededor del los
corchetes.
El comando de igualdad tiene espacios, aunque llega a entender el resto del
código.
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 7
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 8
● ¿Existe alguna forma de realizar exponenciales? ¿Se puede trabajar con decimales?
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 9
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 10
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 11
Nota
En las invocaciones del bucle anterior, se genera un argumento por cada archivo /etc/c*.
● ¿Qué opción tengo que darle al comando head para imprimir todo a excepción de las
tres últimas líneas?
EJERCICIOS PROPUESTOS
1. Sabiendo que el comando date +%k muestra la hora (formato de 24h) y el comando
date +%M muestra los minutos (0-59), desarrolle el script hora.sh que muestre la hora
en formato de 12 horas incluyendo AM o PM según corresponda:
Hora
Código
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 12
Resultado
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 13
Guía de Laboratorio
Nro. DD-106
Laboratorio 15 - Shell Scripts
Página 14
VII. CONCLUSIONES
● Hice uso del comando man para ayudarme a comprender los comandos como head o
sed.
● Con ayuda de la grabación de clase pude acabar este laboratorio.
● Aprendí a usar los scripts y ver cómo crearlos y editarlos.
● Creo que el uso de scripts tiene mucha relación con los lenguajes de programación.
● Con la ayuda de la herramienta putty no tuve mayores inconvenientes con este
laboratorio.
VIII. OBSERVACIONES
● Tuve que buscar ayuda en páginas web para poder resolver los ejercicios planteados.
● En esta ocasión hice uso del editor de texto de nano pero me gustaría aprender a
hacerlo en vim.
● Tanto en la línea de comando en linux la letra L con el numero 1 son iguales, considero
que linux debería solucionar ese aspecto.
● El uso de scripts sirve de mucha ayuda sobre todo cuando se requieren ejercicios de
aplicación.
● Debo mejorar más con la memoria de comandos, ya que a veces me olvido el
significado de los comandos y pierdo tiempo tratando de recordarlos.
Guía de Laboratorio