Está en la página 1de 2

Sistema Operativo 2.

Alumno: Cristian Ortiz

16. Realizar un script que reciba como pará metro una extensió n y haga un reporte con 2
columnas, el nombre de usuario y la cantidad de archivos que posee con esa extensió n. Se
debe guardar el resultado en un archivo llamado reporte.txt
#! /bin/bash
echo $( whoami )
echo $( whoami ) " " $( find /home -name "*.$1" | wc -l )> reportes.txt

17. Escribir un script que al ejecutarse imprima en pantalla los nombre de los archivos que
se encuentran en el directorio actual, intercambiando minú sculas por mayú sculas, ademá s
de eliminar la letra a (mayú scula o minú scula). Ejemplo, directorio actual:
#!/bin/bash
#
echo "Ficheros del directorio actual";
#
echo $( ls -p | grep -v / | tr [:lower:][:upper:] [:upper:][:lower:] |
sed -e 's/a//g' | sed -e 's/A//g' );

18. Crear un script que verifique cada 10 segundos si un usuario se ha loqueado en el


sistema
(el nombre del usuario será pasado por pará metro). Cuando el usuario finalmente se
loguee, el programa deberá mostrar el mensaje ”Usuario XXX logueado en el sistema” y
salir.
#!/bin/bash
#Recibe parametro un nombre de usuario
if [ $# -ne 1 ]
then
echo "La Cantidad de parametros es incorrecta"
exit 1
fi
#Se podria validar contra el /etc/passwd que el usuario exista
while true; do
seLogueo=`who | grep $1 | wc -l`
if [ $seLogueo != 0 ]
then
echo "usuario $1 logueado"
exit 0
fi
sleep 10
done

19. Escribir un Programa de “Menu de Comandos Amigable con el Usuario” llamado menu,
el cual, al ser invocado, mostrará un menú con la selecció n para cada uno de los scripts
creados en esta prá ctica. Las instrucciones de como proceder deben mostrarse junto con el
menú .
El menú deberá iniciarse y permanecer activo hasta que se seleccione Salir. Por ejemplo:
MENU DE COMANDOS
03. Ejercicio 3
12. Evaluar Expresiones
13. Probar estructuras de control
...
Ingrese la opció n a ejecutar: 03

#!/bin/bash

echo "Script creados en la Practica N°3"


echo

clear
while :
do
echo
echo "Script creados en la Practica N°3"
echo
echo "MENU DE COMANDOS"
echo
echo "Comando 12A: 12_Expreciones_A.sh"
echo
echo "Comando 12B: 12_Expreciones_Modificacion_B.sh"
echo
echo "Comando 12C: 12_Expreciones_Calculadora_C.sh "
echo
echo "Comando 13A: 13_Estructura_Control_A.sh"
echo
echo "Comando 13B: 13_Estructura_Control_B.sh"
echo
echo "Comando 13C: 13_Estructura_Control_C.sh"
echo
echo "Comando 14: 14_Renombrado_Archivo.sh"
echo
echo "Comando 16: 16_Uso_Whoami.sh"
echo
echo "Comando 17: 17_Mayuscula_Minuscula.sh"
echo
echo "Comando 18: 18_logeado.sh"

echo "Comando 19: Salir"

echo

echo -n "Ingrese el Numero de Comando a ejecutar: "


read opcion
echo
echo
case $opcion in

12A) echo "Archivo Existente: ";


12_Expreciones_A.sh ;;

12B) echo "Archivo Existente: ";


12_ExprecionesModificacion_B.sh ;;

12C) echo "Archivo Existenete: ";


12_ExprecionesCalculadora_C.sh ;;

13A) echo "Archivo Existente: ";


13_Estructura_Control_A.sh ;;

13B) echo "Archivo Existente: ";


13_Estructura_Control_B.sh ;;

13C) echo "Archivo Existente: ";


13_Estructura_Control_C.sh ;;

14) echo "Archivo Existente: ";


14_Renombrado_Archivo.sh ;;

16) echo "Archivo Existente: ";


16_Uso_Whoami.sh ;;

17) echo "Archivo existente: ";


17_mayuscula_minus.sh ;;

18) echo "chau";


exit 1 ;;
*) echo "Opción incorrecta";
echo
echo "presione una tecla para continuar...";
echo
read foo;;
esac
done

echo

También podría gustarte