Ayuda en shell script

Temas sobre proyectos de código abierto, su promoción, ayuda y todo lo necesario para mantenerlo trabajando.

Moderador: Luli

Responder
nicolasdalbroi
Forista Nuevo
Forista Nuevo
Mensajes: 1
Registrado: Jue Ago 28, 2014 11:25 pm

Ayuda en shell script

Mensaje por nicolasdalbroi » Jue Ago 28, 2014 11:39 pm

Buenas tardes/días/noches, estoy realizando un proyecto en Ubuntu, el cual consiste en realizar un mantenimiento de personas. Este shell script debe tener: altas, bajas y listado, si bien parece terminado tiene errores pero ejecuta como si no tuviera. Quería pedirles si me podían ayudar a resolver este tema. Desde ya, muchas gracias.

Aquí les dejo el código para que le puedan observar.

#!/bin/bash


Altas="Altas"
Bajas="Bajas"
Listado="Listado"
dato=5"Modificaciones"
Salir="Salir"

type=$(zenity --list --text "Mantenimiento de personas" --radiolist --column "Seleccionar" --column "Opciones" FALSE $"Altas" FALSE $"Bajas" FALSE $"Listado" FALSE $"Salir")

if [ "$type" = "$Alta" ]; then
Alta(){
zenity --forms --tittle "Proceso de Altas" \
--text "Inserte datos"\
--separator=","\
--add-entry="Ingrese nombre completo" \ >sn
--add-entry="Ingrese se cedula de identidad" \ >sci
--add-entry="Ingrese su edad" \ >se
--add-calendar="Ingrese su fecha de nacimiento" \ >sf
--add-entry="Ingrese su peso" \ >sp

nombre=$(cat sn)
cedula=$(cat sci)
edad=$(cat se)
nacimiento=$(cat sf)
peso=$(cat sp)

echo 'Cedula:' $cedula
echo 'Nombre:' $nombre
echo 'Edad:' $edad
echo 'Nacimiento:' $nacimiento
echo 'Peso:' $peso

read -p 'Presione enter' X
VSQL='INSERT INTO humanos VALUES ("'$cedula'","'$nombre'",'$edad',"'$nacimiento'","'$peso'")'
echo $VSQL | mysql proyecto -p

}
fi

if [ "$type" = "$Baja" ]; then
Baja(){
zenity --add-entry --tittle "Ingrese cedula a borrar" --text "Ingrese cedula a borrar" >sborrar
borrar=$(cat sborrar)
echo 'Cedula a borrar:' $cedula
BSQL='DELETE FROM humanos WHERE cedula=$cedula'
echo $BSQL | mysql proyecto -p
read
}
fi

if [ "$type" = "$Listado" ]; then
Listado(){
LSQL='SELECT ("'$cedula'","'$nombre'",'$edad',"'$nacimiento'","'$peso'") FROM humanos'
echo $LSQL | mysql proyecto -p
read
}
fi

if [ "$type" = "$Salir" ]; then
Salir(){
zenity --question --text "Esta usted seguro que desea salir?"
read
exit
}
fi
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1801
Registrado: Dom Oct 10, 2004 7:00 am

Re: Ayuda en shell script

Mensaje por neurus » Vie Ago 29, 2014 3:42 am

1) Usa las etiquetas "code".
2) Este script supone una base de datos cuya estructura desconocemos.
3)

Código: Seleccionar todo

echo $VSQL | mysql proyecto -p
¿Esta sintaxis está bien? No se me ocurre qué se supone que hace. Le estás pasando, aparentemente, el contenido de una tabla... ¿a qué? ¿con una pipe? ¿La base no tiene password? ¿Y qué sentencia estás usando? ¿Insert, update, delete?
4) Si eso es una tabla, ¿cuándo cargaste la base?
5) Para esto, además, se usan los signos "< >".

En fin, yo te diría que buscaras en Google cómo interactuar con Mysql desde Bash. El sistema no va a leerte el pensamiento.
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje