Написать приложения Выходы в базу данных MySQL с помощью скрипта Linux

StackOverflow https://stackoverflow.com//questions/20002470

  •  20-12-2019
  •  | 
  •  

Вопрос

Кто-нибудь может сказать мне, как написать результаты приложения в MySQL, используя сценарий Bash? Например, приложение Java со следующим кодом

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!");
}
.

}

Я хочу производить 4 строки в таблице для каждой системы. NOUT

Я попробовал этот скрипт

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_
.

Но проблема в том, что она производит одну строку, когда приложение выходит со значением: Hello World! Сообщение 1! Сообщение 2! Сообщение 3!

Это было полезно?

Решение

Попробуйте следующее:

#!/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
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top