Linux 스크립트로 MySQL 데이터베이스에 응용 프로그램 출력을 작성하십시오
문제
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
. 제휴하지 않습니다 StackOverflow