Linux 스크립트로 MySQL 데이터베이스에 응용 프로그램 출력을 작성하십시오

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

  •  20-12-2019
  •  | 
  •  

문제

Bash 스크립트를 사용하여 응용 프로그램의 출력을 MySQL에 작성하는 방법을 알려줍니다. 예를 들어 다음 코드가있는 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 행을 생성하고 싶습니다.

나는 그 스크립트를 시도했다

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