어떤 경우에는 터미널 세션의 전체 명령과 출력을 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"