선택적으로 명령을 기록하고 터미널에서 MySQL 테이블로 출력합니다.

선택적으로 명령을 기록하고 터미널에서 MySQL 테이블로 출력합니다.

어떤 경우에는 터미널 세션의 전체 명령과 출력을 MySQL 데이터베이스에 저장하고 싶습니다.

이상적으로는 터미널의 명령과 출력을 클립보드에 복사하고 관련 필드를 업데이트하는 간단한 bash 스크립트에 붙여넣는 것입니다.

Bash에서 읽기 기능을 사용해 보았습니다. 아래를 참조하십시오. 그러나 여러 줄을 읽기에 붙여넣으면 개행 문자를 올바르게 구문 분석하지 못합니다.

#!/bin/bash

read -e -p "name: " name
read -e -p "output: " ouput

mysql -u example@localhost << EOF
use database;
insert into table (name, output) values('$title', '$output');

EOF    

나는 이것이 우아하지 않다는 것을 알고 있지만 앞으로 나에게 확실히 유용한 참고 자료가 될 것입니다.

아마도 누군가가 이 작업을 수행하는 더 나은 방법을 밝힐 수 있을 것입니다...

미리 감사드립니다.

답변1

여러 줄을 변수에 붙여넣으려면 다음을 수행합니다.

#!/bin/bash


echo -en 'Paste your multiline content and ^D to submit >>> '
content="$(cat)"
echo "$content"

관련 정보