Contenido del curso
Programación Shell Básica
Script Interactivos
Condicionales
Iteración
Archivos
Empaquetamiento
Funciones
Cierre del curso
Reto 4
Contenido del curso
Reto 4
Reto 4:
Crear un menú con las siguientes opciones:
Posterior a esto vamos a recuperar la opción ingresada, validarla e imprimir la opción y el título de acuerdo a lo ingresado
John Burgos
studentEsteban Martini
studentprimqt n/a
studentFrancisco Llanquipichun
studentMarcelo Roman
studentBoris Vargas Paucara
studentKaren Ramirez
studentLuis Davaria
studentfreddy molleda
studentprimqt n/a
studentLuis Fernando Cruz Carrillo
studentAdan Natanael Segura Galicia
studentHarvi Calle
studentJesus Ivan Villalobos de la Cruz
studentPaul Manrique
studentMarvin Javier Santos Fernández
studentJuan Camilo Lentino Villalba
studentIsaac Bryan Ascanoa Roncall
studentJavier Dario Chungana Erira
studentJonathan Santoyo
studentJohn Alexander Ortiz Ramirez
studentGabriel Maxemin Ramirez
studentBryan Mendoza
student#!/bin/bash #Programa para validar procesos, memoria, recursos, variables. #by: devp echo "" echo "**** PROGRAMA VALIDACIÓN RECURSOS ****" echo "" opcion=0 while : do #Limpiar Pantalla clear echo " * Menú Principal * " echo "" echo "1)Proceso Actuales " echo "2)Memoria Disponible " echo "3)Espacio en disco " echo "4)Informacion Red" echo "5)Variables de entorno configuradas " echo "6)Información Programa " echo "7)Comprimir Arcivos SH" echo "8)Salir " echo "" #Leer datos de usuario read -n1 -p "Ingrese la opción a seleccionar (1 - 8): " opcion #Validar opción ingresada case $opcion in 1) echo -e "\n..Procesos Actuales.." ps axu sleep 3 ;; 2) echo -e "\n..Memoria Disponible.." free sleep 3 ;; 3) echo -e "\n..Espacion en disco.." df -h sleep 3 ;; 4) echo -e "\n..Información Red.." ifconfig -a sleep 3 ;; 5) echo -e "\n..Variables de Entorno Configuradas.." #printenv env -u VAR sleep 3 ;; 6) echo -e "\n..Información Programa.." dpkg -l | more sleep 3 ;; 7) echo -e "\n..Comprimiedo Archivos.." tar -czvf archivosCompresos.tar.gz * echo -e "\n SUCESS!!" sleep 3 ;; 8) echo -e "\n..Saliendo, ¡¡Gracias!!" exit 0 ;; esac done
genio! use tu programa como base! en la funcionalidad 7 lo que si, habria que filtrar solo los archivos sh. y para eso es posible usar la sustitucion de comandos:
quedaria algo asi:
tar -czvf archivosCompresos.tar.gz $(ls | grep "$*.sh")
muy bueno el aporte
Mi reto:
# ! /bin/bash # Reto 4: Creación de menú # Author: Francisco Llanquipichun - https://francisco.llanquipichun.cl seleccion=0 opciones=( "Procesos Actuales" "Memoria Disponible" "Espacio en Disco" "Informacion de Red" "Variables de Entorno Configuradas" "Información Programa" "Backup información" "Ingrese una opción" ) while : do #limpiar clear #desplegar echo "-------------------------------" echo "RETO 4 - Programa de utilidades" echo "-------------------------------" echo " MENU PRINCIPAL" echo "-------------------------------" for((i=0; i<${#opciones[*]}; i++)) do echo "$i. ${opciones[$i]}" done #Leer selección del usuario read -p "Ingrese una opción [0-${#opciones[*]}]:" seleccion echo "${opciones[$seleccion]}" sleep 3 done
#!/bin/bash #Reto 4, menu con opciones de los procesos del sistema #Auto: Marcelo Roman. opcion=0 while : do #Limpiar la pantalla clear echo "********************************************" echo "* Menu Principal *" echo "********************************************" echo "* 1 - Procesos Actuales *" echo "* 2 - Memoria Disponible *" echo "* 3 - Espacio en Disco *" echo "* 4 - Informacion de Red *" echo "* 5 - Variables de Entorno Configuradas *" echo "* 6 - Informacion Programa *" echo "* 7 - Backup informacion *" echo "* 8 - Salir *" echo "********************************************" read -n1 -p "Ingrese una opcion [1-8]" opcion case $opcion in 1) echo -e "\nProcesos Actuales" ps aux sleep 2 ;; 2) echo -e "\nMemoria Disponble" free -h sleep 2 ;; 3) echo -e "\nEspacio en Disco" df -hT sleep 2 ;; 4) echo -e "\nInformacion de Red" ip a sleep 2 ;; 5) echo -e "\nVariables de entorno configuradas" echo $PATH sleep 2 ;; 6) echo -e "\nInformacion Programa" dpkg --list sleep 2 ;; 7) echo -e "\nBackup Informacion" dpkg --list > /tmp/info.txt echo "dpkg --list > /tmp/info.txt" tar -czf info.tar.gz /tmp/info.txt echo "tar -czf info.tar.gz /tmp/info.txt" ls -l ./*.tar.gz sleep 2 ;; 8) echo -e "\nSaliendo" exit 0 ;; *) echo -e "\nOpcion no valida, ingrese una opcion del 1-8" sleep 2 ;; esac done
# ! /bin/bash # Programa reto 4 # Autor: Boris Vargas - @borisvargas96 opcion=0 while : do #Limpiar la pantalla clear #Desplegar el menú de opciones echo "_________________________________________" echo " MENÚ PRINCIPAL RETO 4 " echo "_________________________________________" echo "1. Procesos Actuales" echo "2. Memoria Disponible" echo "3. Espacio en Disco" echo "4. Información de Red" echo "5. Variables de Entorno Configuradas" echo "6. Información Programa" echo "7. Backup información" echo "8. Salir" #Leer los datos del usuario - capturar información read -n1 -p "Ingrese una opción [1-8]:" opcion #Validar la opción ingresada case $opcion in 1) echo "\nProcesos Actuales....." ps aux sleep 3 ;; 2) echo "\nMemoria Disponible...." free -h sleep 3 ;; 3) echo "\nEspacio en Disco..." df -hT sleep 3 ;; 4) echo "\nInformación de Red..." ip a sleep 3 ;; 5) echo "\nVariables de Entorno Configuradas..." echo "$PATH" sleep 3 ;; 6) echo "\nInformación Programa..." dpkg --list sleep 3 ;; 7) echo "\nBackup información..." sleep 3 ;; 8) echo "Salir del Programa" exit 0 ;; *) echo "\nOpcion no valida, ingrese una opcion del 1-8" sleep 3 ;; esac done
# !/bin/bash # Programa que permite manejar las utilidades de Posgres # Autor: Karen Ramirez option=0 while : do #Limpiar la pantalla clear #Desplegar el menú con opciones echo "_________________________________________" echo "SystemUTIL - Programa de utilidades " echo "_________________________________________" echo " MENU PRINCIPAL " echo "_________________________________________" echo "1. Procesos actuales" echo "2. Memoria disponible" echo "3. Espacio en Disco" echo "4. Información de Red" echo "5. Variables de Entorno Configuradas" echo "6. Información Programa" echo "7. Backup información" echo "8. Ingrese una opción." #Leer los datos del usuario - Capturar información read -n1 -p "Ingrese una opción [1-8]:" option #Validar la opción ingresada case $option in 1) echo "\n" echo "Procesos actuales......" ps aux sleep 3 ;; 2) echo "\n" echo "Memoria disponible...." free -h sleep 3 ;; 3) echo "\n" echo "Espacio en disco...." du -h sleep 3 ;; 4) echo "\n" echo "Información de Red....." ifconfig sleep 3 ;; 5) echo "\n" echo "Variables de Entorno Configuradas....." export sleep 3 ;; 6) echo "\n" echo "Información del programa....." echo "\n" echo "Reto numero 4 curso de bash scripting" sleep 3 ;; 7) echo "\n" echo "Backup información....." echo "\n" echo "Sacando backup...." cp reto_4.sh reto_4.sh.bck sleep 3 ;; 8) echo "\n" echo "Salir del programa" sleep 3 exit 0 ;; esac done
Challenge complete 🤠
DONE
#! /bin/bash 2 3 option=0 4 ini=0 5 6 while : 7 do 8 if [ $ini == 0 ]; then 9 for ((i=0;i<3;i++)) 10 do 11 clear 12 echo "███████████████████████████" 13 echo "███████▀▀▀░░░░░░░▀▀▀███████" 14 echo "████▀░░░░░░░░░░░░░░░░░▀████" 15 echo "███│░░░░░░░░░░░░░░░░░░░│███" 16 echo "██▌│░░░░░░░░░░░░░░░░░░░│▐██" 17 echo "██░└┐░░░░░░░░░░░░░░░░░┌┘░██" 18 echo "██░░└┐░░░░░░░░░░░░░░░┌┘░░██" 19 echo "██░░┌┘ ░░░░░ └┐░░██" 20 echo "██▌░│ ░░░ │░▐██" 21 echo "███░│ ░░ ░░ │░███" 22 echo "██▀─┘░░░░░░░ ░░░░░░░└─▀██" 23 echo "██▄░░░ ░░ ░░ ░░░▄██" 24 echo "████▄─┘ ░░░░░░░ └─▄████" 25 echo "█████░░ ─┬┬┬┬┬┬┬─ ░░█████" 26 echo "████▌░░░ ┬┼┼┼┼┼┼┼ ░░░▐████" 27 echo "█████▄░░░└┴┴┴┴┴┴┴┘░░░▄█████" 28 echo "███████▄░░░░░░░░░░░▄███████" 29 echo "██████████▄▄▄▄▄▄▄██████████" 30 echo "███████████████████████████" 31 echo "LOADING...LOADING...LOADING" 32 sleep 0.3 33 clear 34 echo "███████████████████████████" 35 echo "███████▀▀▀░░░░░░░▀▀▀███████" 36 echo "████▀░░░░░░░░░░░░░░░░░▀████" 37 echo "███│░░░░░░░░░░░░░░░░░░░│███" 38 echo "██▌│░░░░░░░░░░░░░░░░░░░│▐██" 39 echo "██░└┐░░░░░░░░░░░░░░░░░┌┘░██" 40 echo "██░░└┐░░░░░░░░░░░░░░░┌┘░░██" 41 echo "██░░┌┘▄▄▄▄▄░░░░░▄▄▄▄▄└┐░░██" 42 echo "██▌░│██████▌░░░▐██████│░▐██" 43 echo "███░│▐███▀▀░░▄░░▀▀███▌│░███" 44 echo "██▀─┘░░░░░░░▐█▌░░░░░░░└─▀██" 45 echo "██▄░░░▄▄▄▓░░▀█▀░░▓▄▄▄░░░▄██" 46 echo "████▄─┘██▌░░░░░░░▐██└─▄████" 47 echo "█████░░▐█─┬┬┬┬┬┬┬─█▌░░█████" 48 echo "████▌░░░▀┬┼┼┼┼┼┼┼┬▀░░░▐████" 49 echo "█████▄░░░└┴┴┴┴┴┴┴┘░░░▄█████" 50 echo "███████▄░░░░░░░░░░░▄███████" 51 echo "██████████▄▄▄▄▄▄▄██████████" 52 echo "███████████████████████████" 53 echo ".....LOADING.....LOADING..." 54 sleep 0.3 55 clear 56 done 57 ini=1 58 else 59 clear 60 echo "_________________________________________" 61 echo " MENU PRINCIPAL " 62 echo "_________________________________________" 63 echo "1. Procesos Actuales" 64 echo "2. Memoria Disponible" 65 echo "3. Espacio En Disco" 66 echo "4. Informacion De Red" 67 echo "5. Variables De Entorno Configuradas" 68 echo "6. Informacion Programa" 69 echo "7. Backup informacion" 70 echo "8.salir" 71 72 73 read -n1 -p "Ingrese una opcion [1-8]: " option 74 75 echo -e "\n\n" 76 77 case $option in 78 1) 79 echo -e "Instalando" 80 top 81 sleep 3 82 ;; 83 2) 84 echo "Desintalando" 85 free -h 86 sleep 2 87 ;; 88 3) 89 echo "Respaldando" 90 df -h 91 sleep 2 92 ;; 93 4) 94 echo "Restaurando" 95 ifconfig 96 sleep 2 97 ;; 98 5) 99 echo "Saliendo" 100 printenv 101 sleep 2 102 ;; 103 6) 104 echo "Practicas para crear menus" 105 sleep 2 106 ;; 107 7) 108 echo "tar -czf archivo.tar.gz ejemplo_1.txt ejemplo_2.txt" 109 sleep 2 110 ;; 111 8) 112 echo "Saliendo" 113 exit 0 114 ;; 115 esac 116 fi 117 done
como se asen esos dibujos?
#!/bin/bash # Reto 4 # Fernando Cruz - quattrococodrilo option=0 while : do clear # Menu >>> echo "-------------------------" echo " RETO 4 " echo "-------------------------" echo " Select an option " echo "-------------------------" echo "1. Current process" echo "2. Available memory" echo "3. Disk space" echo "4. Network info" echo "5. Environment variables" echo "6. Program info" echo "7. Backup" echo "8. Exit" # Menu <<< read -n1 -p "Enter option: " option case $option in 1) echo -e "\n" top ;; 2) echo -e "\n" free;; 3) echo -e "\n" du -d1 -h / ;; 4) echo -e "\n" ip a ;; 5) echo -e "\n" printenv ;; 6) echo -e "\nVersion 0.0.1" ;; 7) echo -e "\nMaking backup..." sleep 3 ;; 8) echo -e "\nExiting..." exit 0 ;; esac suboption="" while : do read -n1 -p "Press m to return menu: " suboption if [ "$suboption" = "m" ] then echo -e "\n Returning menu..." break fi done done
# !/bin/bash # Programa que muestra algunas funcionalidades basicas del sistema option=0 #Impresion del menú while : do clear echo "------------------------------------------------" echo "-------------- Menú Principal ------------------" echo "------------------------------------------------" echo "- 1.- Procesos Actuales -" echo "- 2.- Memoria Disponible -" echo "- 3.- Espacio en Disco -" echo "- 4.- Información de Red -" echo "- 5.- Variables de entorno Configuradas -" echo "- 6.- Información del Programa -" echo "- 7.- Backup Información -" echo "- 8.- Salir -" echo "------------------------------------------------" read -n1 -p "Ingrese la opción deseada [1-8]: " option case $option in 1) clear echo -e "\n\tProcesos Actuales\n" ps aux echo -e "\n" read -n1 -p "Presione una tecla para continuar..." ;; 2) clear echo -e "\n\tMemoria Disponible\n" free -h echo -e "\n" read -n1 -p "Presione una tecla para continuar..." ;; 3) clear echo -e "\n\tMemoria en disco\n" du -h echo -e "\n" read -n1 -p "Presione una tecla para continuar..." ;; 4) clear echo -e "\n\tInformación de Red\n" ifconfig echo -e "\n" read -n1 -p "Presione una tecla para continuar..." ;; 5) clear echo -e "\n\tVariables de entorno configuradas\n" printenv echo -e "\n" read -n1 -p "Presione una tecla para continuar..." ;; 6) clear echo -e "\n\tInformación del Sistema\n" echo -e "\tPrograma que realiza funcionalidades basicas del OS" echo -e "\tAutor: Adan Galicia" echo -e "\tInformacón de contacto: algo9854@gmail.com" echo -e "\n" read -n1 -p "Presione una tecla para continuar..." ;; 7) clear echo -e "\n\tBackup Información\n" read -p "Ingrese la ruta en donde quiera hacer el backup.No agregue el ultimo /: " ruta if [ -d $ruta ]; then ls $ruta read -p "Agregue el archivo a hacer Backup: " archivo if [ -f $archivo ]; then echo "Generando Backup en Home..." gzip -c $ruta/$archivo > ~/$archivo.gz.$( date +%F ) echo -e "\nTodo listo " else echo "Archivo no encontrado" fi else echo -e "\nRuta no encontrada" fi echo -e "\n" read -n1 -p "Presione una tecla para continuar..." ;; 8) clear echo -e "\n\tAdios!\n" exit ;; *) clear echo -e "\n\tOpción no encontrada\n" read -n1 -p "Presione una tecla para continuar..." ;; esac done
El mío lista los 10 procesos con mayor consumo de memoria, la memoria en Gib, el espacio disponible en disco, las IP configuradas en el servidor, las variables de ambiente, lista los procesos levantados por el usuario actual, crea un backup de la carpeta home del usuario y muestra los eventos sucedidos un día como el del cumpleaños del usuario:
#!/bin/bash #Programa para ejecutar las opciones solicitadas #Autor: Harvi Calle - @harvif opcion=0 while : #While infinito hasta que se ejecute centencia do #Limpieza de pantalla clear echo " _ _ |+| |+| |+| |+| _ ___ __ __ _ |+|___|+| /A\ |R R R\ \V\ /V/ |+| |+ ___ +| /A_A\ |R| \R\ \V\ /V/ |+| |+| |+| /A/_\A\ |R|__/R/ \V\ /V/ |+| |+| |+| /A +++ A\ |R++++R\ \V\ /V/ |+| |+| |+| /A/ \A\ |R| \R\ \ V / |+|" #Desplegar menu de opciones echo "_________________________________________" echo " RETO 4 Platzi " echo "_________________________________________" echo " Opciones " echo "_________________________________________" echo "1. Mostrar los procesos de Mayor consumo" echo "2. Mostrar la memoria disponible en GB" echo "3. Espacio en disco." echo "4. Mostrar las IP y tarjeta de red." echo "5. Variables de entorno configuradas." echo "6. Informacion Programas ejecutados con usuario actual." echo "7. Backup de Informacion." echo "8. Ingrese una opcion." echo "9. Salir" echo "_________________________________________" #Leer los datos del usuario read -n1 -p "Ingrese una opcion [1-9]: " opcion #validar la opcion ingresada case $opcion in 1) echo -e "\nTop 10 de Procesos de Mayor consumo de memoria:" ps -eo cmd,%mem,%cpu --sort=-%mem | head echo -e "\nPresione una tecla para continuar" read -n1 ;; 2) echo -e "\nLa memoria RAM libre en Gi es." free -gh echo -e "\nPresione una tecla para continuar" read -n1 ;; 3) echo -e "\nEl espacio disponible en disco es..." df -h echo -e "\nPresione una tecla para continuar" read -n1 ;; 4) echo -e "\nLas IP configuradas en el computador son:" netstat -nt | awk '{ print $4 }' | awk -F ':' '{ print $1 }' | uniq | tail -n 1 echo -e "\nPresione una tecla para continuar" read -n1 ;; 5) echo -e "\nLas IP configuradas en el computador son:" printenv echo -e "\nPresione una tecla para continuar" read -n1 ;; 6) echo -e "\nInformacion de programas ejecutandose con usuario actual:" ps -axu | grep $(whoami) | awk '{ print $11}' echo -e "\nPresione una tecla para continuar" read -n1 ;; 7) echo -e "\nBackup del directorio Home, almacenado en /tmp" tar -czvf home_$(date %F).tar.gz /home/$(whoami) sleep 1 ;; 8) read -p "\nIngresa tu fecha de nacimiento [yyyymmdd]: " natalicio echo -e "\nEstos son algunos eventos importantes ocurridos un dia como el que naciste:" calendar -t $natalicio echo -e "\nPresione una tecla para continuar" read -n1 ;; 9) echo -e "\nSalir del programa" exit 0 esac done
# !/bin/bash # Programa corrspondiente al reto 4 #AUTOR: JI-Villalobos opcion=0 yesNot="" while : do echo "--------------------------------" echo " MENU CONFIGURACION " echo "--------------------------------" echo " 1. Procesos actuales " echo " 2. Memoria disponible " echo " 3. Espacio en disco " echo " 4. Informacion de red " echo " 5. Variables de entorno configuradas " echo " 6. Informacion Programa " echo " 7. Backup informacion " echo " 8. Salir " read -n1 -p "Ingrese una opcion [1-8]: " opcion case $opcion in 1) echo -e "\nMostrando procesos......" sleep 3 ps ax read -n1 -p "¿Limpiar?[y]: " yesNot if [ $yesNot = "y" ]; then clear fi ;; 2) echo -e "\nMostrando memoria disponible......" sleep 3 free -h read -n1 -p "¿Limpiar?[y]: " yesNot if [ $yesNot = "y" ]; then clear fi ;; 3) echo -e "\nRevisando espacio disponible......" sleep 3 sudo df -h read -n1 -p "¿Limpiar?[y]: " yesNot if [ $yesNot = "y" ]; then clear fi ;; 4) echo -e "\nMostrando informacion de red......" sleep 3 ifconfig read -n1 -p "¿Limpiar?[y]: " yesNot if [ $yesNot = "y" ]; then clear fi ;; 5) echo -e "\nMostrando todas la variables de entorno configuradas......" sleep 3 env read -n1 -p "¿Limpiar?[y]: " yesNot if [ $yesNot = "y" ]; then clear fi ;; 6) echo -e "\nInformacion del programa......" sleep 3 cat readme.txt read -n1 -p "¿Limpiar?[y]: " yesNot if [ $yesNot = "y" ]; then clear fi ;; 7) echo -e "\nGenerando respaldo del directorio......" sleep 3 echo "Generando Carpeta de respaldo......" sleep 2 mkdir /home/chuy12villalobos/Backup echo "Copiando archivos.........." sleep 2 cp -r bashshellprog/ home/chuy12villalobos/Backup echo "Generando archivo backup.tar" tar -tvf /home/chuy12villalobos/backupgen.tgz /home/chuy12villalobos/Backup echo "Respaldo realizado........." read -n1 -p "¿Limpiar?[y]: " yesNot if [ $yesNot = "y" ]; then clear fi ;; 8) echo -e "\nSaliendo del programa" exit 0 ;; esac done```
Mi reto:
!/bin/bash
RETO 4: Print an options menu.
Crear un menú con las siguientes opciones:
#1 Procesos Actuales, #2 Memoria Disponible, #3 Espacio en Disco, #4 Información de Red, #5 Variables de Entorno Configuradas, #6 Información Programa #7 Backup información #8 Ingrese una opción. #Posterior a esto vamos a recuperar la opción ingresada, validarla e imprimir la opción y el título de acuerdo a lo ing resado.
Creado por: Paul Manrique
option=0
while : do
#Desplegar el menú de opciones echo "" echo "***************** MAIN MENU *****************************" echo "" echo "1. Current Processes - Procesos Actuales*************************************" echo "2. Available Memory - Memoria Disponible***************************************" echo "3. Disk space - Espacio en Disco**************************************************" echo "4. Network Information - Información de Red*************************************" echo "5. Configured Environment Variables - Variables de Entorno Configuradas**" echo "6. Program Information - Información Programa***********************************" echo "7. Backup information - Backup información**************************************" echo "8. Exit" echo "*******************************************************************************************"
Leer datos del usuario - capturar la información
read -n1 -p "Ingrese una opcion entre los numeros [1-8]:" option
#Validar la opción ingresada case $option in
echo -e "\nCurrent Processes....." echo -e "Procesos Actuales....." ps axu sleep 1m clear ;;
echo -e "\nAvailable Memory...." echo -e "Memoria Disponible...." free -h sleep 1m clear ;;
echo -e "\nDisk Space..." echo -e "Espacio en Disco..." df -h sleep 1m clear ;;
echo -e "\nNetwork Information..." echo -e "Informacion de la red..." ifconfig -a sleep 1m clear ;;
echo -e "\nConfigured Environment Variables..." env -u VAR sleep 1m clear ;;
echo-e"\nProgram Information..." dpkg -l | more sleep 1m clear ;;
echo -e "\nBackup Information..." echo -e "Informacion de Backup" echo -e "Realizando Backup ***10%" echo -e "Realizando Backup **50%" echo -e "Realizando Backup 80%" echo -e "Backup Realizadooo100%" sleep 1m clear exit 0 ;;
echo -e "\nExit Program\n" echo -e "\nSalir del Programa" sleep 1m clear exit 0 ;; esac done
#!/bin/bash while : do echo "Menu de opciones" echo "1. Procesos actuales" echo "2. Memoria disponible" echo "3. Especio en disco" echo "4. Informacion de red" echo "5. Variables de entorno configurables" echo "6. Informacion programa" echo "7. Backup informacion" echo "8. Salir de programa" read -n1 -p "Ingresa una opcion [1-8]: " option echo "" case $option in 1) ps ;; 2) free ;; 3) df -h ;; 4) ip a ;; 5) printenv ;; 6) read -p "Ingrese el nombre del programa o utilidad: " utilName man $utilName ;; 7) read -p "Ingrese el directorio (ruta absoluta): " dirName tar -czvf "backup.tar.gz" "$dirName" ;; 8) echo "Saliendo del programa.." exit 0 ;; *) echo "Opcion invalida" ;; esac echo "" done
Mi aporte del reto 4:
#!/bin/bash # clase 29 reto 4 # Autor: Javier Ch. - @javich validOpcion='^[1-8]$' memDisp=$(free -h) espDisk=$(df -h) infRed=$(ifconfig) varEnt=$(env) infProg=$(ls -lh *) bkInfo=$(tar -czvf backupsh.tar.gz *) while : do clear echo "--------------------------------" echo " ESTADO MAQUINA " echo "--------------------------------" echo "1. Procesos Actuales" echo "2. Memoria Disponible" echo "3. Espacio en Disco" echo "4. Información de Red" echo "5. Variables de Entorno Configuradas" echo "6. Información Programa" echo "7. Backup informacion" echo "8. Salir" read -n1 -p "Digite el numero de la opcion:" opcion if [[ $opcion =~ $validOpcion ]]; then echo -e "\n" case $opcion in 1) echo "Procesos Actuales:" ps read -p "presione enter para volver al menu" ;; 2) echo -e "Memoria Disponible:\n$memDisp\n" read -p "presione enter para volver al menu" ;; 3) echo -e "Espacio en Disco:\n$espDisk\n" read -p "presione enter para volver al menu" ;; 4) echo -e "Informacion de red:\n$infRed\n" read -p "presione enter para volver al menu" ;; 5) echo -e "Variables de Entorno:\n$varEnt\n" read -p "presione enter para volver al menu" ;; 6) echo -e "Informacion Programa:\n$infProg\n" read -p "presione enter para volver al menu" ;; 7) echo "Realizando Backup:\n$bkInfo\n" read -p "presione enter para volver al menu" ;; 8) echo "Salir" exit 0 ;; esac else echo -e "\n[ERROR]: La opcion ingresada no es Valida." read -p "Presione enter para regresar al menu" fi done
#!/bin/bash # Programa para resolver el reto número 4 # Autor: Jonathan opcion=0 while : do clear echo "-------------------------------------------" echo "PGUTIL - Programa de Utilidades de Postgres" echo "-------------------------------------------" echo " MENÚ PRINCIPAL " echo "-------------------------------------------" echo "1. Procesos Actuales" echo "2. Memoria Disponible" echo "3. Espacio en Disco" echo "4. Información de Red" echo "5. Variables de Entorno Configuradas" echo "6. Información Programa" echo "7. Backup información" echo "8. Salir del Programa" read -n1 -p $'\nIngrese una opción [1-8]: ' opcion case $opcion in 1) echo -e "\nProcesos Actuales ....." top ;; 2) echo -e "\nMemoria Disponible ....." command -v htop >/dev/null && htop || free -h ;; 3) echo -e "\nEspacio en Disco ....." df -h ;; 4) echo -e "\nInformación de Red ....." command -v ifconfig >/dev/null && ifconfig || ip a ;; 5) echo -e "\nImprimiendo Variables de Entorno ....." printenv ;; 6) echo -e "\nInformación del Programa ....." dpkg -l | more ;; 7) echo -e "\nRealizando Backup (Dir Actual) ....." tar -czvf backup.tar.gz ./* ;; 8) echo -e "\nCerrando ....." exit 0 ;; esac echo -e "\nPresione ENTER para continuar..." read done ```#!/bin/bash \# Programa para resolver el reto número 4 \# Autor: Jonathan opcion=0 while : do   clear   echo "-------------------------------------------"   echo "PGUTIL - Programa de Utilidades de Postgres"   echo "-------------------------------------------"   echo " MENÚ PRINCIPAL "   echo "-------------------------------------------"   echo "1. Procesos Actuales"   echo "2. Memoria Disponible"   echo "3. Espacio en Disco"   echo "4. Información de Red"   echo "5. Variables de Entorno Configuradas"   echo "6. Información Programa"   echo "7. Backup información"   echo "8. Salir del Programa"   read -n1 -p $'\nIngrese una opción \[1-8]: ' opcion   case $opcion in   1\)   echo -e "\nProcesos Actuales ....."   top   ;;   2\)   echo -e "\nMemoria Disponible ....."   command -v htop >/dev/null && htop || free -h   ;;   3\)   echo -e "\nEspacio en Disco ....."   df -h   ;;   4\)   echo -e "\nInformación de Red ....."   command -v ifconfig >/dev/null && ifconfig || ip a   ;;   5\)   echo -e "\nImprimiendo Variables de Entorno ....."   printenv   ;;   6\)   echo -e "\nInformación del Programa ....."   dpkg -l | more   ;;   7\)   echo -e "\nRealizando Backup (Dir Actual) ....."   tar -czvf backup.tar.gz ./\*   ;;   8\)   echo -e "\nCerrando ....."   exit 0   ;;   esac   echo -e "\nPresione ENTER para continuar..."   read done
Comparto el codigo de mi reto
#!/bin/bash #Exercise # option=0 while : do clear echo "______________________________" echo " STATUS SYSTEM " echo "______________________________" echo " MAIN MENU " echo "1. Current Processes" echo "2. Available Memory" echo "3. Disk Space" echo "4. Red Information" echo "5. Configured Environment Variables" echo "6. Program information" echo "7. Exit" read -n1 -p "Insert a option:" option case $option in 1) echo -e "\n Current Processes " ps aux | grep $(whoami) ;; 2) echo -e "\n Available Memory " awk '/MemAvailable/ {printf "%.4fGB\n", $2/(1024*1024)}' /proc/meminfo ;; 3) echo -e "\n Disk Space " df -h | awk 'NR==1 || /^\/dev/' # Print first line NR==1 or (||) search /dev/ ;; 4) echo -e "\n Red Information " ip addr show ;; 5) echo -e "\n Configured Environment Variables " env | sort ;; 6) echo -e "\n Program information " echo "V0.0.1" ;; 7) echo -e "\nGoodBye" exit 0 ;; esac read -n1 -r -p "Press any key to continue..." done
case $opcion in 1) echo -e "\nOpcion No. 1" sleep 3 ;; 2) echo -e "\nOpcion No. 2" sleep 3 ;; 3) echo -e "\nOpcion No. 3" sleep 3 ;; 4) echo -e "\nOpcion No. 4" sleep 3 ;; 5) echo -e "\nOpcion No. 5" sleep 3 ;; 6) echo -e "\nOpcion No. 6" sleep 3 ;; 7) echo -e "\nOpcion No. 7" sleep 3 ;; 8) echo -e "\nOpcion No. 8" sleep 3 ;; esac done ``` case $opcion in   1\)   echo -e "\nOpcion No. 1"   sleep 3   ;;   2\)   echo -e "\nOpcion No. 2"   sleep 3   ;;   3\)   echo -e "\nOpcion No. 3"   sleep 3   ;;   4\)   echo -e "\nOpcion No. 4"   sleep 3   ;;   5\)   echo -e "\nOpcion No. 5"   sleep 3   ;;   6\)   echo -e "\nOpcion No. 6"   sleep 3   ;;   7\)   echo -e "\nOpcion No. 7"   sleep 3   ;;   8\)   echo -e "\nOpcion No. 8"   sleep 3   ;;   esac done
Aqui mi aporte
#!/bin/bash # Author: Bryan G. Mendoza # Date: 06-01-25 # Programa para varias utilidades del sistema option=0 while : do clear echo "----------------------" echo " Menu " echo "----------------------" echo "1) Procesos Actuales" echo "2) Memoria Disponible" echo "3) Espacio en Disco" echo "4) Informacion de red" echo "5) Variables de entorno configuradas" echo "6) Backup de informacion" echo "7) Salir" echo -e "----------------------\n" read -n1 -p "Selecciona una opcion: " option case $option in 1) clear echo -e "Estos son los procesos actuales:\n" ps -a echo -e "\nPress any key to continue..." read -n 1 -s # Waits for a single key press silently ;; 2) clear echo -e "Memoria Disponible:\n" free echo -e "\nPress any key to continue..." read -n 1 -s # Waits for a single key press silently ;; 3) clear echo -e "Espacio en discos:\n" df -h echo -e "\nPress any key to continue..." read -n 1 -s # Waits for a single key press silently ;; 4) clear echo -e "Informacion de red\n" ip address show echo -e "\nPress any key to continue..." read -n 1 -s # Waits for a single key press silently ;; 5) clear echo -e "Variables de entorno:\n" printenv echo -e "\nPress any key to continue..." read -n 1 -s # Waits for a single key press silently ;; 6) clear echo -e "Creando backup:\n" tar czf backup_workspace.tar.gz -C $(pwd) . echo -e "\nPress any key to continue..." read -n 1 -s # Waits for a single key press silently ;; 7) exit 0 ;; esac done