Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Duda/Curiosidad script en Bash
#1
Pregunta 
Buenas a tod@s:

Esta tarde me he puesto a programar un script en bash y así también voy aprendiendo este lenguaje.


El caso es que quiero hacer un script que se conecte con la BBDD SQL y me haga las querys y me devuelva los resultados.


Estoy empezando a hacer el script y me gusta ir probando a medida que voy avanzando para validar todos los pasos. Y más cuando estoy empezando con un lenguaje nuevo. Porque sino, después encuentra el fallo, jeje.


El caso es que, pongo que el usuario introduzca la query que quiere realizar y más abajo digo que me imprima la query introducida. 

Para poner como ejemplo ponemos:

Select * from tabla


Y el resultado me da:

Select y después en lugar del asterisco me imprime todos los documentos o archivos que tengo en la carpeta donde se ubica el script en bash que estoy programando.



He probado en el terminal de linux de poner directamente un asterisco a ver que resultado me da y veo que te imprime los documentos o archivos que se encuentran en la ubicación donde estás. Con lo cual descarto un posible fallo de mi script.


Sin embargo, como puedo hacer que la sentencia introducida por el usuario se tome tal cual sin ninguna modificación?


Muchas gracias de antemano.
Citar
#2
Para acceder a las bases de datos tienes que hacerlo a traves del servidor de mysql :
http://www.dba-oracle.com/t_access_mysql...script.htm
Citar
#3
la variable donde está lo que ha escrito el usuario debería ir entre comillas
prueba con esto:

read entrada
set | grep entrada
echo $entrada
echo "$entrada"

verás que lo que escribe el usuario se lee bien, pero durante el "echo" es cuando se hace la traslación

en cualquier caso, ten muuuuucho cuidado con dejar que un usuario te escriba algo que luego va a un servidor sql, porque te pueden hacer de todo (y no precisamente bueno)
Citar
#4
(18-05-2016, 08:23 AM)sacamantecas escribió: la variable donde está lo que ha escrito el usuario debería ir entre comillas
prueba con esto:

read entrada
set | grep entrada
echo $entrada
echo "$entrada"

verás que lo que escribe el usuario se lee bien, pero durante el "echo" es cuando se hace la traslación

en cualquier caso, ten muuuuucho cuidado con dejar que un usuario te escriba algo que luego va a un servidor sql, porque te pueden hacer de todo (y no precisamente bueno)

Buenas a tod@s:

Antes de mandarlo al servidor habría algun tipo de filtro para que solo se pudiera hacer algun tipo de sentencia.

A parte, el usuario directamente no sería quien haría las sentencias SQL si no que estarían automatizadas. El usuario diría lo que quiere hacer y la información que hay que aportar y el sistema construiría la sentencia SQL correspondiente de modo que no se podría hacer ningún drop o truncate de ninguna tabla, por poner un ejemplo.

(Ya sé que se pueden hacer cosas peores)
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
Pregunta Crear panel web para ejecutar scripts (bash/python) Electromecánico 5 146 08-05-2018, 08:38 PM
Último mensaje: Electromecánico
  Script para generar informe/reporte de la velocidad de conexión de tu ISP Electromecánico 2 871 26-09-2016, 08:43 PM
Último mensaje: Electromecánico
  Script para generar un hotspot en Batch Electromecánico 3 1,001 16-09-2016, 05:48 PM
Último mensaje: Electromecánico
  Script FTP.sh Electromecánico 0 368 14-09-2016, 07:56 PM
Último mensaje: Electromecánico
  Duda sobre Bash Electromecánico 4 638 24-08-2016, 07:35 AM
Último mensaje: Electromecánico