A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Curso de Programaci贸n en Bash Shell

Curso de Programaci贸n en Bash Shell

Marco Antonio Toscano Freire

Marco Antonio Toscano Freire

Crear funciones y Paso de Argumentos

39/43
Recursos

Las funciones son bloques de c贸digo que realizan algo en especifico y que ayudan a organizar el c贸digo de nuestro programa.

Aportes 11

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Me queda s煤per claro que est谩 instalando Postgres :facepalm:

#Funci贸n para instalar postgres
instalar_postgres () {
        echo "Instalando Postgres..."
}

Desintalar postres, alguien m谩s lo noto ?

Script escrito y probado en Ubuntu 18.04

#Requisitos
regex_option=鈥橿[1-5]{1}鈥

#Variables locales
option=0

#functions
install_postgres () {
echo 鈥淚nstalando Postgres 鈥︹
}

uninstall_postgres () {
echo 鈥淒esinstalando Postgres 鈥︹
}

create_backup () {
read -p "Enter the name of the file: " backup_filename
echo 鈥淐reando el backup 鈥$backup_filename鈥 en $(pwd) 鈥︹
}

restore_backup () {
read -p "Enter the name of the backup鈥檚 file: " backup_filename
echo 鈥淩estaurando el backup 鈥$backup_filename鈥 鈥︹
}

get_exit () {
echo -e 鈥淪aliendo 鈥n鈥
}

wrong_option () {
echo 鈥淟as options deben ser 1-5鈥
}

while :
do
#Limpiar la pantalla
clear
#Mostrar el menu de opciones
echo "----------------------------------------"
echo "PGUTIL - Programa de utilidades Postgres"
echo "----------------------------------------"
echo " Menu Principal "
echo "----------------------------------------"
echo "1.Instalar Postgres"
echo "2.Desinstalar Postgres"
echo "3.Hacer un bakcup"
echo "4.Restaurar el backup"
echo 鈥5.Salir.鈥

#Leer la opcion del usuario (capturar datos) y verificarla

echo -e ""
read -n1 -p "Introduce un opcion del menu: " option
echo -e ""

if [[ $option =~ $regex_option ]]; then

    #Validar la opcion introducida
    case $option in
        1)
            install_postgres
            sleep 3 #Delay the CLI action for 3 secs
            ;;
        2)
            uninstall_postgres
            sleep 3 #Delay the CLI action for 3 secs
            ;;
        3)
            create_backup
            sleep 3 #Delay the CLI action for 3 secs
            ;;
        4)
            restore_backup
            sleep 3 #Delay the CLI action for 3 secs
            ;;
        5)
            get_exit
            sleep 1 #Delay the CLI action for 1 secs
            #break
            exit 0 #salir del bucle
            ;;
    esac

else
        wrong_option
        sleep 3
fi

done

El tema est谩 finalizando

Llegamos al tema mas importante XD

Divid铆 el programa en dos secciones:

Frontend:

#!/bin/bash

source ./backend.sh

while :
  do
    clear
      tput rev; tput cup 1 2
      echo "MAIN - POSTGRESQL"; tput sgr0
      
      echo -e "\n"
      echo "1) Install PostgreSQL"
      echo "2) Uninstall PostgreSQL"
      echo "3) Generate Backup"
      echo "4) Restore Backup"
      echo "5) Exit"
      echo -e "\n"

      tput bold;
      read -p "Enter your choice [1-5]: " Pick

    case $Pick in 
      1) sql $Pick; sleep 3;;
      2) sql $Pick; sleep 3;;
      3) sql $Pick; sleep 3;;
      4) sql $Pick; sleep 3;;
      5) sql $Pick;   exit 0;;
    esac
done

Backend:

#!/bin/bash

function sql () {
  if [ $1 == 1 ]; then
    echo "Installing..."
  elif [ $1 == 2 ]; then
    echo "Uninstalling..."
  elif [ $1 == 3 ]; then
    echo "Generating..."
  elif [ $1 == 4 ]; then
    echo "Restoring..."
  else
    echo "Exiting..."
  fi
}
# $1 == $Pick
export -f sql
./frontend.sh
#!/bin/bash

option=0
backup_directory=""
restore_directory=""

install_postgresql () {
    echo -e "\nInstalling PostgreSQL..."
}

uninstall_postgresql () {
    echo -e "\nUninstalling PostgreSQL..."
}

backup () {
    echo -e "\nBackuping..."
    echo -e "\nBackup directory: $1"
}

restore_backup () {
    echo -e "\nRestoring backup..."
    echo -e "\nRestore directory: $1"
}

while :
do
    clear
    echo "-------------------------------------"
    echo "PGUTIL - PostgreSQL utilities program"
    echo "-------------------------------------"
    echo "              MAIN MENU              "
    echo "-------------------------------------"
    echo "1. Install PostgreSQL"
    echo "2. Uninstall PostgreSQL"
    echo "3. Backup"
    echo "4. Restore Backup"
    echo "5. Exit"

    read -n1 -p "Enter an option [1-5]: " option

    case $option in
    1)
        install_postgresql
        sleep 3
        ;;
    2)
        uninstall_postgresql
        sleep 3
        ;;
    3)
        echo -e "\n"
        read -p "Enter the backup directory: " backup_directory
        backup $backup_directory
        sleep 3
        ;;
    4)
        echo -e "\n"
        read -p "Enter the backup restore directory: " restore_directory 
        restore_backup $restore_directory
        sleep 3
        ;;
    5)
        echo -e "\nExiting..."
        exit 0
        ;;
    esac
done
# ! /bin/bash
# Programa que permite manejar las utilidades de Postres
# Autor: Jose Suarez

opcion=0

# Funci贸n para instalar postgres
instalar_postgres () {
        echo "Instalar postgres..."
}

# Funci贸n para desinstalar postgres
desinstalar_postgres () {
        echo "Desinstalar postres..."
}

# Funci贸n para sacar un respaldo
sacar_respaldo () {
        echo "Sacar respaldo..."
        echo "Directorio backup: $1"
}

# Funci贸n para restaurar un respaldo
restaurar_respaldo () {
        echo "Restaurar respaldo..."
        echo "Directorio respaldo: $1"
}


while :
do
#Limpiar la pantalla
clear
#Desplegar el men煤 de opciones
echo "_________________________________________"
echo "    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)
                instalar_postgres
                sleep 3
                ;;

                2)
                desinstalar_postgres
                sleep 3
                ;;

                3)
                read -p "Directorio Backup:" directorioBackup
                sacar_respaldo $directorioBackup
                sleep 3
                ;;

                4)
                read -p "Directorio de Respaldos:" directorioRespaldos
                restaurar_respaldo $directorioRespaldos
                sleep 3
                ;;

                5)
                echo "Salir del Programa"
                exit 0
                ;;
        esac

done

Listo.

El comando sleep no me funciona鈥 se restablece todo y no me muestra la siguiente operaci贸n.

# ! /bin/bash
# Programa para manejo de utilidades de postgress
# Autor Diego Beltran Histagram diegoDevelops

opciones=0


# funciones del programa
instalar_postgres () {
    echo "Instalar postgress...."
}

desinstalar_postgres () {
    echo "Desinstalar postgress..."
}

sacar_respaldo () {
    echo "Sacar respaldo ..."
    echo "directorio back: $1"
}

restaurar_respaldo () {
    echo  "restaurar respaldo"
    echo "directorio resp: $1"
}


while :
do
    #limpiamos pantalla
    clear
    # Despeglar el menu de opciones
    echo "---------------------------------------------"
    echo "PGUTIL - Programa de utilidad de postgress"
    echo "---------------------------------------------"
    echo "            MENU PRINCIPAL                   "
    echo "---------------------------------------------"
    echo "1. Instalar Postgress"
    echo "2. Desinstalar Postgres"
    echo "3. Sacar un respaldo"
    echo "4. Restar respaldo"
    echo "5. Salir"

    #Leerlos datos del usuario - capturar informacion
    read -n1 -p "ingrese una opcion [1 - 5]: " opciones

    #Validar opcion ingresada
    case $opciones in
        1)
            instalar_postgres
            sleep 7
            ;;
        2)
            desinstalar_postgres
            sleep 7
            ;;
        3) 
            read -p "Directorio de Back" dirBack
            sacar_respaldo $dirBack
            sleep 7
            ;;
        4) 
            read -p "Directorio de Respaldok" dirRest
            restaurar_respaldo $dirrest
            sleep 7
            ;;
        5) 
            echo -e "\nSaliendo del programa ......"
            exit 0
            ;;
    esac
done