0% encontró este documento útil (0 votos)
19 vistas13 páginas

Lab 15

Cargado por

yolanda.trujillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas13 páginas

Lab 15

Cargado por

yolanda.trujillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

CODIGO DEL CURSO: II3010

DISEÑO DE SOFTWARE E INTEGRACIÓN DE SISTEMAS


PROGRAMA DE FORMACIÓN REGULAR
Sistemas Operativos

LABORATORIO N°15 – Programación de Shell Scripts en Linux


I. Objetivos:
● Identificar el funcionamiento de los shell script.
● Desarrollar scripts básicos.
● Utilizar parámetros y variables.
● Emplear estructuras básicas de programación.
● Incluir interactividad en los scripts.
● Definir menús en los scripts.

II. Seguridad:
● Ubicar maletines y/o mochilas en el gabinete al final de aula de laboratorio o en los
casilleros asignados al estudiante.
● No ingresar con líquidos, ni comida al aula de laboratorio.
● Al culminar la sesión de laboratorio apagar correctamente la computadora y la
pantalla, y ordenar las sillas utilizadas.

III. Equipos y Materiales:


● El desarrollo del laboratorio es grupal
● En este laboratorio cada alumno trabajará con computadoras, monitores y teclado.

Guía de Laboratorio Pág. 2


Sistemas Operativos

IV. Procedimiento:

1. Abra el VMware Workstation.

2. Prenda la máquina virtual de linux que venimos usando en clases.

3. En la consola gráfica, inicie sesión con el usuario root

4. No olvidé que su equipo deberá contar su apellido y deberá mostrarse en su terminal.

5. Abrir una ventana de terminal y acceder a la cuenta de usuario root

VARIABLES Y ARGUMENTOS (PARÁMETROS)

1. Cree el directorio /usr/scripts y ubíquese en él. En este directorio se definirán los scripts de este
laboratorio:
mkdir /home/tecsup/scripts
cd /home/tecsup/scripts

2. Cree un script y ejecútelo para comprobar el valor de las variables del sistema:
● Cree el archivo de texto varSistema con el siguiente código:
echo “Directorio hogar = $HOME”
echo “Shell = $SHELL”
echo “Usuario actual = $LOGNAME”

● Establezca el atributo de ejecución al archivo de texto anterior para convertirlo en un script y


luego ejecútelo:
chmod 744 varSistema
./varSistema

Guía de Laboratorio Pág. 3


Sistemas Operativos

● Note que las variables del sistema tienen permanentemente un valor asociado.

3. Cree un script y ejecútelo para comprobar el funcionamiento de variables de usuario, así como
el uso de los delimitadores de texto:
● Cree el archivo de texto varUsuario con el siguiente código:
a=’$LOGNAME’
b=”$LOGNAME”
c=`date`
echo “$a”
echo “$b”
echo “$c”

● Establezca el atributo de ejecución al archivo de texto anterior para convertirlo en un script y


luego ejecútelo:
chmod 744 varUsuario
./varUsuario

Guía de Laboratorio Pág. 4


Sistemas Operativos

● ¿Qué diferencia encuentra entra las comillas (“ ”) y los apóstrofes (‘ ’)?


Las comillas dobles (") son más flexibles y permiten la expansión de variables y ejecución de
comandos, mientras que los apóstrofes (') no permiten la expansión y toman todo como
texto literal.
● ¿Para qué sirven los apóstrofes invertidos (` `)? Ingrese evidencias.
Los apóstrofes invertidos ( ), también conocidos como backticks, tienen un uso específico
en shell scripting en sistemas Unix y Linux. Sirven para ejecutar un comando dentro de la
línea de comandos y capturar su salida como texto en una variable o para su uso directo en
la línea de comandos.

CONDICIONES EN LOS SCRIPTS

4. Cree un script que permita calcular un promedio de notas (nota mínima 13).
● Cree el archivo de texto calcularNota con el siguiente código:
#!/bin/bash
#Calculando el promedio
clear
echo “Ingresar primera nota:”
read ax
echo “Ingresar segunda nota:”
read bx
echo “Ingresar tercera nota:”
read cx
dx=`expr $ax + $bx + $cx`
fx=`expr $dx “/” 3`
if [ $fx –ge 13 ]
then
echo “El alumno está aprobado”
echo “El promedio es $fx”
else
echo “El alumno está desaprobado”
echo “El promedio es $fx”
fi

Guía de Laboratorio Pág. 5


Sistemas Operativos

● Establezca el atributo de ejecución al archivo de texto anterior para convertirlo en un script.

Chmod 744 calcularNota

● Ingresar evidencia.

EVALUACIÓN DE EXPRESIONES Y BUCLES EN LOS SCRIPTS

1. Cree un script y ejecútelo para comprobar la evaluación de las expresiones:


● Cree el archivo de texto expresionA con el siguiente código:
#!/bin/bash
expr $1 + $2
expr $1 - $2

Guía de Laboratorio Pág. 6


Sistemas Operativos

expr $1 “*” $2
expr $1 “/” $2

● Establezca el atributo de ejecución al archivo de texto anterior para convertirlo en un script y


luego ejecútelo pasándole dos números como argumentos:
chmod 744 expresionA
./expresionA 10 3

2. Cree un script y ejecútelo para verificar los bucles numéricos:


● Cree el archivo de texto bucleB con el siguiente código:
cont=1
while [ $cont -le 10 ] ; do
echo $cont
cont=$(($cont+1))
done

● Establezca el atributo de ejecución al archivo de texto anterior para convertirlo en un script y


luego ejecútelo:
chmod 744 bucleB
./bucleB

Guía de Laboratorio Pág. 7


Sistemas Operativos

3. Cree un script y ejecútelo para verificar el funcionamiento del for:


● Cree el archivo de texto bucleC con el siguiente código:
#!/bin/bash
echo “Ingrese la ruta del archivo:”
read a
for archivo in $a;
do
echo “La ruta del archivo es $a”
echo “Las tres primeras líneas del archivo son:”
echo “head -3 $a”
done

● Establezca el atributo de ejecución al archivo de texto anterior para convertirlo en un script y


luego ejecútelo pasando distintos argumentos cada vez. Presentar evidencia
chmod 744 bucleC

Guía de Laboratorio Pág. 8


Sistemas Operativos

CREANDO UN PROGRAMA CON LA SENTENCIA CASE

1. Cree un script y ejecútelo para comprobar la evaluación de las expresiones:


● Cree el archivo de texto programa con el siguiente código:
#!/bin/bash
clear
echo “Menú de opciones”
echo “[1]:Fecha y hora del sistema”
echo “[2]:Saber qué usuario está logeado”
echo “[3]:Ruta de dirección actual”
echo “[4]:Nombre del computador”
echo “[5]: Dirección IP del computador”
echo “INGRESAR OPCIÓN POR FAVOR"
read x
case $x in
1)date;;
2)whoami;;
3)pwd;;
4)hostname;;
5)ifconfig ens33;;
*)echo “opción inconrrecta”;;
esac

Guía de Laboratorio Pág. 9


Sistemas Operativos

● Establezca el atributo de ejecución al archivo de texto anterior para convertirlo en un script y


luego ejecútelo. Presentar evidencia.
chmod 744 programa
./programa

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 que muestre la hora en formato de
12 horas incluyendo AM o PM según corresponda:
#!/bin/bash
hora=$(date "+%I:%M %p")
echo "La hora actual es: $hora"

Guía de Laboratorio Pág. 10


Sistemas Operativos

2. Usando el script programa, cómo haría para que luego de seleccionar una opción, la ejecución
del script no termine, sino que exista una opción que sea “exit” y cuando el usuario la
seleccione recién se cierre la ejecución.
#!/bin/bash

while true; do
clear
echo "Menú de opciones"
echo "[1]: Fecha y hora del sistema"
echo "[2]: Saber qué usuario está logeado"
echo "[3]: Ruta de dirección actual"
echo "[4]: Nombre del computador"
echo "[5]: Dirección IP del computador"
echo "[exit]: Salir del programa"
echo "INGRESAR OPCIÓN POR FAVOR"
read x

case $x in
1) date ;;
2) whoami ;;
3) pwd ;;
4) hostname ;;
5) ifconfig ens33 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' ;;
exit) break ;;
*) echo "Opción incorrecta" ;;
esac

echo
read -p "Presione Enter para continuar..."

Guía de Laboratorio Pág. 11


Sistemas Operativos

done

echo "Saliendo del programa..."

Guía de Laboratorio Pág. 12


Sistemas Operativos

Conclusiones
Indicar las conclusiones que llegó después de los temas tratados de manera práctica en este
laboratorio.

La capacidad de escribir scripts en la consola proporciona una manera eficiente de realizar tareas
repetitivas en sistemas CentOS. Esto no sólo ahorra tiempo y esfuerzo, sino que reduce la posibilidad
de error humano al estandarizar los procedimientos.

La consola que permite interactuar con el sistema operativo y realizar una amplia gama de
operaciones, desde tareas simples como la gestión de archivos y directorios hasta operaciones más
complejas como el manejo de procesos y la administración de redes.

Guía de Laboratorio Pág. 13

También podría gustarte