Contenido del curso
Contenido del curso
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
Usuario anónimo
**Menu de opciones con una pequeña introduccion animada **
1 #! /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 "PGUTIL - Programa de Utilidad de Postgres" 62 echo "_________________________________________" 63 echo " MENU PRINCIPAL " 64 echo "_________________________________________" 65 echo "1. Instlar Postgres" 66 echo "2. Desintalar Postgres" 67 echo "3. Sacar un respaldo" 68 echo "4. Restaurar respaldo" 69 echo "5. Salir" 70 71 read -n1 -p "Ingrese una opcion [1-5]: " option 72 73 echo -e "\n\n" 74 75 case $option in 76 1) 77 echo -e "Instalando" 78 sleep 2 79 ;; 80 2) 81 echo "Desintalando" 82 sleep 2 83 ;; 84 3) 85 echo "Respaldando" 86 sleep 2 87 ;; 88 4) 89 echo "Restaurando" 90 sleep 2 91 ;; 92 5) 93 echo "Saliendo" 94 exit 0 95 ;; 96 esac 97 fi 98 done```
# !/bin/bash # Owner @freddymm fixed version by @jordam option=0 ini=0 while : do if [ $ini == 0 ]; then for ((i=0;i<3;i++)) do clear echo"███████████████████████████" echo"███████▀▀▀░░░░░░░▀▀▀███████" echo"████▀░░░░░░░░░░░░░░░░░▀████" echo"███│░░░░░░░░░░░░░░░░░░░│███" echo"██▌│░░░░░░░░░░░░░░░░░░░│▐██" echo"██░└┐░░░░░░░░░░░░░░░░░┌┘░██" echo"██░░└┐░░░░░░░░░░░░░░░┌┘░░██" echo"██░░┌┘ ░░░░░ └┐░░██" echo"██▌░│ ░░░ │░▐██" echo"███░│ ░░ ░░ │░███" echo"██▀─┘░░░░░░░ ░░░░░░░└─▀██" echo"██▄░░░ ░░ ░░ ░░░▄██" echo"████▄─┘ ░░░░░░░ └─▄████" echo"█████░░ ─┬┬┬┬┬┬┬─ ░░█████" echo"████▌░░░ ┬┼┼┼┼┼┼┼ ░░░▐████" echo"█████▄░░░└┴┴┴┴┴┴┴┘░░░▄█████" echo"███████▄░░░░░░░░░░░▄███████" echo"██████████▄▄▄▄▄▄▄██████████" echo"███████████████████████████" echo"LOADING...LOADING...LOADING" sleep 0.3 clear echo"███████████████████████████" echo"███████▀▀▀░░░░░░░▀▀▀███████" echo"████▀░░░░░░░░░░░░░░░░░▀████" echo"███│░░░░░░░░░░░░░░░░░░░│███" echo"██▌│░░░░░░░░░░░░░░░░░░░│▐██" echo"██░└┐░░░░░░░░░░░░░░░░░┌┘░██" echo"██░░└┐░░░░░░░░░░░░░░░┌┘░░██" echo"██░░┌┘▄▄▄▄▄░░░░░▄▄▄▄▄└┐░░██" echo"██▌░│██████▌░░░▐██████│░▐██" echo"███░│▐███▀▀░░▄░░▀▀███▌│░███" echo"██▀─┘░░░░░░░▐█▌░░░░░░░└─▀██" echo"██▄░░░▄▄▄▓░░▀█▀░░▓▄▄▄░░░▄██" echo"████▄─┘██▌░░░░░░░▐██└─▄████" echo"█████░░▐█─┬┬┬┬┬┬┬─█▌░░█████" echo"████▌░░░▀┬┼┼┼┼┼┼┼┬▀░░░▐████" echo"█████▄░░░└┴┴┴┴┴┴┴┘░░░▄█████" echo"███████▄░░░░░░░░░░░▄███████" echo"██████████▄▄▄▄▄▄▄██████████" echo"███████████████████████████" echo".....LOADING.....LOADING..." sleep 0.3 clear done ini=1 else clear echo"_________________________________________" echo"PGUTIL - Programa de Utilidad de Postgres" echo"_________________________________________" echo" MENU PRINCIPAL " echo"_________________________________________" echo"1. Instlar Postgres" echo"2. Desintalar Postgres" echo"3. Sacar un respaldo" echo"4. Restaurar respaldo" echo"5. Salir" read -n1 -p "Ingrese una opcion [1-5]: " option echo-e"\n\n" case $option in 1) echo-e"Instalando" sleep 2 ;; 2) echo"Desintalando" sleep 2 ;; 3) echo"Respaldando" sleep 2 ;; 4) echo"Restaurando" sleep 2 ;; 5) echo"Saliendo" exit 0 ;; esac fi done
esta bonito el tema de las calaberas, tienes un link en especial para crearlas?
Vamos al siguiente tema XD
Este es un menú mucho mas simple que el que usó el profesor, y también quisiera añadir que por lo general los programas de bash son usados para poder tener parametros, ex: sh $0 -h, por esto creo que usar menus no es la mejor opción
#!/bin/bash menu=$(cat << EOF 1) delete my computer 2) delete your moms' computer 3) delete the internet 4) exit 5) clear screen EOF ) while :; do echo "$menu" echo "" read -p "Option: " u_option case "$u_option" in 1|"delete my computer") u_os=$(uname) echo "Deleting your computer..." sleep 0.2 echo "removing your OS: $u_os" sleep 1s echo "removing personal files..." sleep 1s echo "Done!" echo "" ;; 2|"delete your moms' computer") u_os=$(uname) echo "Deleting your moms' computer..." sleep 0.2 echo "removing his/her OS: $u_os" sleep 1s echo "removing personal files..." sleep 1s echo "Done!" echo "" ;; 3|"delete the internet") echo "#the password is not okay#" read -sp "Type the password to remove the internet: " u_password if [ "$u_password" == "okay" ]; then echo "Deleting the internet..." sleep 1s echo "deleting your dog..." sleep 1s echo "Done!" echo "" else echo "Incorrect password" echo "" fi ;; 4|"exit") echo "Glad to help!" sleep 1s echo "exiting..." exit ;; 5|clear|"clear screen") clear ;; *) echo "Sorry, command not found..." echo "try again" sleep 1s echo "" ;; esac done
Debo admitir que tuve miedo al ejecutar tu script y ver los prompt en pantalla... Es una excelente alternativa la que ofreces! (y)
Gracias a este curso, podre implementar los aprendido en mi trabajo, un ejemplo:
####### ##### # # #### #### # # ###### ##### ##### ##### # # # # # # # # # # # # # #### #### ##### # ##### # # # ##### # # # # # # # # # # # # # # # # # # # # # # # # # ####### #### #### ##### ###### ##### # ##### ------------------------------------------------ Programa para compilar un Secuenciador en CEDETB ------------------------------------------------ Menu Principal ---------------------------------------- APERTURAS Y ACTUALIACIONES: 1. SEQAPER 2. SEQAPER1 3. SEQAPER2 PLATINO CENTRAL: 4. SEQPLA1 5. SEQPLA2 6. SEQPLA4 7. SEQABDC NETKEY: 8. SEQNKP CHEQUES: 9. SEQSAC1 FRONT UNICO: 10. SEQADT DOMICILIACION: 11. SEQDOM HERA: 12. SEQBPM2 13. SALIR -n1 Ingrese una opcion [1-12]: 1 Compilando... ********************************** * DECOMPILADOR CODIGO INTERMEDIO * * LDCI V4.2 * ********************************** Nota: A partir de la version 4.0 se validara la sintaxis de las Reglas de Secuencia (XML). En caso de error verifica el mensaje que generara el decompilador. Decompilacion: make {archivo Z} {ENVFILE=ruta/TU_ENVFILE} Recuerda: Archivo *.out --> Resumen de la compilacion. Archivo *.err --> Mensajes de error. seqaper,compilando ldci -V -f seqaper -o seqaper -E /opt/s617/005/tuxedo/conf/ENVFILE-SEQ-APER 1>seqaper.out 2>seqaper.err ******************** Deploy File: seqaper Genera respaldo /opt/s617/005/tuxedo/data/seqaper.bk de version anterior... Copia archivo binario seqaper a /opt/s617/005/tuxedo/data Lista de versiones en /opt/s617/005/tuxedo/data... -rwxrwxrwx 1 S617INFR.MANAGER S617INFR 4479 Sep 30 2008 /opt/s617/005/tuxedo/data/seqapert_v2-1 -rwxrwxrwx 1 S617INFR.MANAGER S617INFR 4319 May 20 2009 /opt/s617/005/tuxedo/data/seqaper_200509_v2 -rwxrwxrwx 1 S617INFR.MANAGER S617INFR 0 Oct 1 2012 /opt/s617/005/tuxedo/data/seqaper1.Z -rwxrwxrwx 1 S617INFR.MANAGER S617INFR 48299 May 27 2014 /opt/s617/005/tuxedo/data/seqaper1.D1195.EPARRAZA -rw-rw-rw- 1 D2893.VN37847 D2893 43035 Feb 12 2017 /opt/s617/005/tuxedo/data/seqaperFATCA -rw-rw-rw- 1 D1537.VI04877 D1537 54147 Mar 3 2020 /opt/s617/005/tuxedo/data/seqaper1.bk -rw-rw-rw- 1 D1537.VI04877 D1537 54147 Apr 22 2020 /opt/s617/005/tuxedo/data/seqaper1 -rw-rw-rw- 1 D1537.VI04877 D1537 8399 Nov 10 18:55 /opt/s617/005/tuxedo/data/seqaper2.bk -rw-rw-rw- 1 D1537.VI04877 D1537 8399 Nov 10 20:08 /opt/s617/005/tuxedo/data/seqaper2 -rw-rw-rw- 1 D1537.VI04877 D1537 53931 Dec 14 16:39 /opt/s617/005/tuxedo/data/seqaper.bk -rw-rw-rw- 1 D1537.VI04877 D1537 53931 Dec 17 13:56 /opt/s617/005/tuxedo/data/seqaper gtacl[9]: warning: unable to propagate all environment variables HOLA! ..... ..... ..... ..... ..... ..... Shutting down server processes ... Server Id = 120 Group Id = SEQAPER Machine = CI: shutdown succeeded Server Id = 110 Group Id = SEQAPER Machine = CI: shutdown succeeded Server Id = 100 Group Id = SEQAPER Machine = CI: shutdown succeeded 4 processes stopped. 7 RECORDS TRANSFERRED gtacl[9]: warning: unable to propagate all environment variables ..... ..... ..... ..... ..... ..... ..... INFO: NonStop Tuxedo for HP NonStop server TNS/E, R8.0 V1 Update 3, 32-bit Booting server processes ... exec /opt5/s617/005/tuxedo80/bin/seqcr003 -A : on CI -> started seqaper; waiting on server...ready exec /opt5/s617/005/tuxedo80/bin/seqcr003 -A : on CI -> started SEQAPER1; waiting on server...ready exec /opt5/s617/005/tuxedo80/bin/seqcr003 -A : on CI -> started seqaper2; waiting on server...ready 4 processes started. 11 RECORDS TRANSFERRED
Copio el codigo:
# ! /bin/bash # Programa que permite manejar las utilidades de Postres # Autor: Jose Suarez opcion=0 while : do #Limpiar la pantalla clear #Desplegar el menú de opciones echo "-----------------------------------------" echo "PGUTIL - Programa de Utilidad de Postgres" echo "-----------------------------------------" echo " MENÚ PRINCIPAL " echo "-----------------------------------------" echo "1. Instalar Postgres" echo "2. Desinstalar Postgres" echo "3. Sacar un respaldo" echo "4. Restar respaldo" echo "5. Salir" #Leer los datos del usuario - capturar información read -n1 -p "Ingrese una opción [1-5]:" opcion #Validar la opción ingresada case $opcion in 1) echo -e "\n\nInstalar postgres....." sleep 3 ;; 2) echo -e "\n\nDesinstalar postgres...." sleep 3 ;; 3) echo -e "\n\nSacar respaldo..." sleep 3 ;; 4) echo -e "\n\nRestaurar respaldo..." sleep 3 ;; 5) echo -e "\n\nSalir del Programa" clear exit 0 ;; esac done
Asi queda el menu:
Pésimo video ... 36 veces diciendo "TEMA" ... confunde en la instrucción
Se ve muy genial el tema de usar ese menu
lo unico que no entendi fue "el tema" de usar ";;" despues de cada sleep
No se usa por el sleep como tal, se usa porque está dentro de un case y por cada "opción" se debe terminar con un ;;
Ejemplo:
#!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched" ;; Fedora | CentOS) echo -n "Red Hat" ;; esac
¿Que tiene de mal mi código?
# ! /bin/bash 2 x=0 3 while : 4 do 5 clear 6 echo "_________________________________________" 7 echo "PGUTIL - Programa de Utilidad de Postgres" 8 echo "_________________________________________" 9 echo " MENU PRINCIPAL " 10 echo "_________________________________________" 11 echo "1. Instlar Postgres" 12 echo "2. Desintalar Postgres" 13 echo "3. Sacar un respaldo" 14 echo "4. Restaurar respaldo" 15 echo "5. Salir" 16 17 read -n1 -p "Ingrese una opcion[1-5]" x 18 19 case $x in 20 1) 21 echo "instalar Postgres..." 22 sleep 3 23 ;; 24 2) 25 echo "Desintalar Postgres..." 26 sleep 3 27 ;; 28 3) 29 echo "Sacar respaldo..." 30 sleep 3 31 ;; 32 4) 33 echo "Restaurar respaldo" 34 sleep 3 35 ;; 36 5) 37 echo "salir del programa" 38 exit 0 39 ;; 40 esac 41 done``` lo reviso y lo reviso pero no le encuentro nada mas sin embargo no corre. AUXILIO!!!!!!!
Hola amigo, creo que es cuestión de espacios, revisa el código adjunto el cual agregue espacios y otra opcion de mas. Espero te ayude!
# ! /bin/bash x=1 while : do clear echo "_________________________________________" echo "PGUTIL - Programa de Utilidad de Postgres" echo "_________________________________________" echo " MENU PRINCIPAL " echo "_________________________________________" echo "1. Instlar Postgres" echo "2. Desintalar Postgres" echo "3. Sacar un respaldo" echo "4. Restaurar respaldo" echo "5. Salir" read -n1 -p "Ingrese una opcion [1-5] " x case $x in 1) echo -e "\ninstalar Postgres..." sleep 3 ;; 2) echo -e "\nDesintalar Postgres..." sleep 3 ;; 3) echo -e "\nSacar respaldo..." sleep 3 ;; 4) echo -e "\nRestaurar respaldo" sleep 3 ;; 5) echo -e "\nsalir del programa" exit 0 ;; *) clear echo -e "\nOpcion no valida!" exit 0 ;; esac done
para son las 3 comillas del final ```
++Combinacion de programas anteriores++
#! /bin/bash # Programa que consulta que tipo de funcionalidad utilizar #Presentacion while : do # Limpiar la pantalla clear # Desplegar el menú de opciones echo "_________________________________________" echo " MENÚ PRINCIPAL " echo "_________________________________________" echo "1. Consultar obligacion de voto" echo "2. Descargar imagen" echo "3. Salir" #eleccion de programa echo "Ingresa una opcion entre 1 y 3: " read opcion case $opcion in 1) regex_nombre="^[A-Z]?[a-z]+$" regex_edad="^[0-9]{1,3}$" #Solicitar datos echo "Ingresa tu nombre: " read nombre echo "Ingresa tu edad: " read edad if [[ $edad > 18 && $edad =~ $regex_edad && $nombre =~ $regex_nombre ]]; then echo "$nombre, eres mayor de edad, debes votar." else echo "$nombre, eres menor de edad, no votas." fi sleep 3 # Aquí puedes agregar el código para la instalación de PostgreSQL ;; 2) echo -e "\nDescargando imagen...." wget https://cdn.pixabay.com/photo/2023/08/12/13/59/cat-8185712_1280.jpg sleep 3 # Aquí puedes agregar el código para la desinstalación de PostgreSQL ;; 3) echo "Salir del Programa" exit 0 ;; *) echo -e "\nOpción no válida. Por favor, ingrese una opción válida [1-5]." sleep 2 ;; esac done
Excelente forma de maquetar un menú en bash!
Tema de Menu de opciones
Listo
#!/bin/bash # Programa que permite manejar las utilidades de Postgres # DBZ opcion=0 # chars="/-\|" # while :; do # for (( i=0; i<${#chars}; i++ )); do # sleep 0.5 # echo -en "${chars:$i:1}" "\r" # done # done function ProgressBar { # Process data let _progress=(${1}*100/${2}*100)/100 let _done=(${_progress}*4)/10 let _left=40-$_done # Build progressbar string lengths _fill=$(printf "%${_done}s") _empty=$(printf "%${_left}s") # 1.2 Build progressbar strings and print the ProgressBar line # 1.2.1 Output example: # 1.2.1.1 Progress : [########################################] 100% printf "\rProgress : [${_fill// /\#}${_empty// /-}] ${_progress}%%" } # Variables _start=1 # This accounts as the "totalState" variable for the ProgressBar function _end=100 # Proof of concept echo "Cargando Interfaz....." for number in $(seq ${_start} ${_end}) do sleep 0.001 ProgressBar ${number} ${_end} done while : do #Limpiar la pantalla clear #Desplegar el menú de opciones echo "*****************************************" echo "PGUTIL - Programa de Utilidad de Postgres" echo "*****************************************" echo "**************MENÚ PRINCIPAL*************" echo "*****************************************" echo "1. -Instalar Postgres." echo "2. -Desinstalar Postgres." echo "3. -Sacar un respaldo." echo "4. -Restaurar respaldo." echo "5. -Salir." echo "*****************************************" #Leer los datos del usuario - capturar información read -n1 -p "Ingrese una opción [1-5]:" opcion #Validar la opción ingresada case $opcion in 1) echo -e "\nInstalar postgres...." # Proof of concept for number in $(seq ${_start} ${_end}) do sleep 0.01 ProgressBar ${number} ${_end} done #sleep 3 ;; 2) echo -e "\nDesinstalar postgres...." for number in $(seq ${_start} ${_end}) do sleep 0.05 ProgressBar ${number} ${_end} done ;; 3) echo -e "\nSacar respaldo...." for number in $(seq ${_start} ${_end}) do sleep 0.0001 ProgressBar ${number} ${_end} done ;; 4) echo -e "\nRestaurar respaldo...." for number in $(seq ${_start} ${_end}) do sleep 0.0001 ProgressBar ${number} ${_end} done ;; 5) echo "\nSalir del Programa...." sleep 0.01 exit 0 ;; esac done
Cuando ejecuto la opcion 5 se sale del programa, pero tambien me cierra la conexion en mi usuario de linux, por lo que debo volver a loguear el usuario root. Es normal que pase o se trata de un error?
Si todavía presentas este problema, podrías postear tu código para poder checarlo?
Hola, puedes colocar la sentencia brake para romper el bucle y que no cierre sesión.
Programar este tipo de scripts en la interfaz de la terminal me hace acordar mucho a la serie ‘Halt and Catch Fire’ 😂😁
Script escrito y probado en Ubuntu 18.04 5 #Requisitos 6 regex_option='^[1-5]{1}' 7 8 #Variables locales 9 option=0 10 11 while : 12 do 13 #Limpiar la pantalla 14 clear 15 #Mostrar el menu de opciones 16 echo "----------------------------------------" 17 echo "PGUTIL - Programa de utilidades Postgres" 18 echo "----------------------------------------" 19 echo " Menu Principal " 20 echo "----------------------------------------" 21 echo "1.Instalar Postgres" 22 echo "2.Desinstalar Postgres" 23 echo "3.Hacer un bakcup" 24 echo "4.Restaurar el backup" 25 echo "5.Salir." 26 27 #Leer la opcion del usuario (capturar datos) y verificarla 28 29 read -n1 -p "Introduce un opcion del menu: " option 30 echo -e "" 31 32 if [[ $option =~ $regex_option ]]; then 33 34 #Validar la opcion introducida 35 case $option in 36 1) 37 echo "Instalando Postgres ..." 38 sleep 3 #Delay the CLI action for 3 secs 39 ;; 40 2) 41 echo "Desinstalando Postgres ..." 42 sleep 3 #Delay the CLI action for 3 secs 43 ;; 44 45 3) 46 echo "Creando el BackUp..." 47 sleep 3 #Delay the CLI action for 3 secs 48 ;; 49 4) 50 echo "Restaurando el BackUp ..." 51 sleep 3 #Delay the CLI action for 3 secs 52 ;; 53 5) 54 echo "Saliendo ..." 55 sleep 1 #Delay the CLI action for 1 secs 56 #break 57 exit 0 #salir del bucle 58 ;; 59 esac 60 61 else 62 echo "Las options deben ser 1-5" 63 sleep 3 64 fi 65 66 done
Se vengo en este curso. .... con todo los "temas que le hacian falta"..
Mi practica, en el trabajo suelo instalar maquinas para para agregar agent zabbix y pienso que esto podria facilitarme la instalacion.
#! /bin/bash
opcion=0
while :
do
# LIMPIAR LA PANTALL
CLEAR
# DESPLEGAR MENU DE OPCIONES
echo "-----------------------------------------------------"
echo "PROGRAMA DE UTILIDADES AGENTE PROXY"
echo "-----------------------------------------------------"
echo " MENU PRINCIPAL "
echo "-----------------------------------------------------"
echo "1. INSTALAR ZABBIX AGENT2"
echo "2. DESINTALAR ZABBIX AGENT2"
echo "3. INSTALAR ZABBIX PROXY + AGENT2"
echo "4. SALIR "
echo "-----------------------------------------------------"
# LEER LOS DATOS DEL USUARIO PARA CAPTURAR INFORMACION
read -n1 -p "ingrese una opcion [1-4]" opcion
# VALIDAR LA OPCION INGRESADA
case $opcion in
1)
echo "INSTALANDO ZABBIX AGENT2"
sleep 3
;;
2)
echo "DESINSTALAR ZABBIX AGENT2 "
sleep 3
;;
3)
echo "INSTALANDO ZABBIX PROXY + AGENT2"
sleep 3
;;
4)
echo "SALIR DEL PROGRAMA "
exit 0
;;
esac
read -p "presiona enter para continuar"
done
while :
do
# LIMPIAR LA PANTALL
CLEAR
# DESPLEGAR MENU DE OPCIONES
echo "-----------------------------------------------------"
echo "PROGRAMA DE UTILIDADES AGENTE PROXY"
echo "-----------------------------------------------------"
echo " MENU PRINCIPAL "
echo "-----------------------------------------------------"
echo "1. INSTALAR ZABBIX AGENT2"
echo "2. DESINTALAR ZABBIX AGENT2"
echo "3. INSTALAR ZABBIX PROXY + AGENT2"
echo "4. SALIR "
echo "-----------------------------------------------------"
# LEER LOS DATOS DEL USUARIO PARA CAPTURAR INFORMACION
read -n1 -p "ingrese una opcion [1-4]" opcion
# VALIDAR LA OPCION INGRESADA
case $opcion in
1)
echo "INSTALANDO ZABBIX AGENT2"
sleep 3
;;
2)
echo "DESINSTALAR ZABBIX AGENT2 "
sleep 3
;;
3)
echo "INSTALANDO ZABBIX PROXY + AGENT2"
sleep 3
;;
4)
echo "SALIR DEL PROGRAMA "
exit 0
;;
esac
read -p "presiona enter para continuar"
done
#! /bin/bash opcion=0 while : do # LIMPIAR LA PANTALL CLEAR # DESPLEGAR MENU DE OPCIONES echo "-----------------------------------------------------" echo "PROGRAMA DE UTILIDADES AGENTE PROXY" echo "-----------------------------------------------------" echo " MENU PRINCIPAL " echo "-----------------------------------------------------" echo "1. INSTALAR ZABBIX AGENT2" echo "2. DESINTALAR ZABBIX AGENT2" echo "3. INSTALAR ZABBIX PROXY + AGENT2" echo "4. SALIR " echo "-----------------------------------------------------" # LEER LOS DATOS DEL USUARIO PARA CAPTURAR INFORMACION read -n1 -p "ingrese una opcion [1-4]" opcion # VALIDAR LA OPCION INGRESADA case $opcion in 1) echo "INSTALANDO ZABBIX AGENT2" sleep 3 ;; 2) echo "DESINSTALAR ZABBIX AGENT2 " sleep 3 ;; 3) echo "INSTALANDO ZABBIX PROXY + AGENT2" sleep 3 ;; 4) echo "SALIR DEL PROGRAMA " exit 0 ;; esac read -p "presiona enter para continuar" done ```#! /bin/bash opcion=0 while : do   \# LIMPIAR LA PANTALL   CLEAR   \# DESPLEGAR MENU DE OPCIONES   echo "-----------------------------------------------------"   echo "PROGRAMA DE UTILIDADES AGENTE PROXY"   echo "-----------------------------------------------------"   echo " MENU PRINCIPAL "   echo "-----------------------------------------------------"   echo "1. INSTALAR ZABBIX AGENT2"   echo "2. DESINTALAR ZABBIX AGENT2"   echo "3. INSTALAR ZABBIX PROXY + AGENT2"   echo "4. SALIR "   echo "-----------------------------------------------------"   \# LEER LOS DATOS DEL USUARIO PARA CAPTURAR INFORMACION   read -n1 -p "ingrese una opcion \[1-4]" opcion   \# VALIDAR LA OPCION INGRESADA   case $opcion in   1\)   echo "INSTALANDO ZABBIX AGENT2"   sleep 3   ;;   2\)   echo "DESINSTALAR ZABBIX AGENT2 "   sleep 3   ;;   3\)   echo "INSTALANDO ZABBIX PROXY + AGENT2"   sleep 3   ;;   4\)   echo "SALIR DEL PROGRAMA "   exit 0   ;;   esac   read -p "presiona enter para continuar"   done
Hice una modificación sobre el código de la clase
#!/bin/bash # Programa que permite manejar utilidades de Postgres # Elaborado por: Diego Andres Benitez # Contacto: @xyzdiego opcion=0 while : do # Limpiar la consola clear echo "-----------------------------------------" echo "PGUtil - Programa de utilidad de Postgres" echo "-----------------------------------------" echo " MENU PRINCIPAL " echo "-----------------------------------------" echo "1. Instalar Postgres" echo "2. Desinstalar Postgres" echo "3. Sacar un respaldo" echo "4. Restar un respaldo" echo "5. Salir" # Leer los datos del usuario - captura de información read -n1 -p "Ingrese una opción [1-5] " opcion # Validar la opción ingresada case $opcion in 1) echo -e "\nInstalar Postgres........" sleep 3 ;; 2) echo -e "\nDesinstalar Postgres........" sleep 3 ;; 3) echo -e "\nSacar respaldo........" sleep 3 ;; 4) echo -e "\nRestar respaldo........" sleep 3 ;; 5) echo -e "\nSalir" exit 0 ;; *) echo -e "\nPor favor, ingresa una opción valida" sleep 2 ;; esac done