Pregunta

¿Puede alguien decirme cómo escribir las salidas de una aplicación a MySQL usando Bash Script? Por ejemplo, una aplicación Java con el siguiente código

class HelloWorld {
public static void main(String[] args) {
    System.out.println("Hello World!");
    System.out.println("Message 1!");
    System.out.println("Message 2!");
    System.out.println("Message 3!");
}

}

Quiero producir 4 filas en la tabla para cada sistema .Out

Intenté ese script

app_name="HelloWorld"
app_output=$(java $app_name);
mysql -u<username> -p'<password>' <db_name> <<_EOF_
INSERT INTO logs_tbl (app_name,text) VALUES ("$app_name","$app_output");
_EOF_

Pero el problema es que produce una fila cuando la aplicación sale con valor: ¡Hola mundo! ¡Mensaje 1! ¡Mensaje 2! Mensaje 3!

¿Fue útil?

Solución

Intente lo siguiente:

#!/bin/bash

app_name="HelloWorld"
java $app_name | while read line
do
        echo "INSERT INTO logs_tbl (app_name,text) VALUES ('$app_name','$line');" | mysql -u <username> -p '<password>' <db_name>
done

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top