이 mysql 출력 메시지를 변수에 어떻게 캡처할 수 있나요?

이 mysql 출력 메시지를 변수에 어떻게 캡처할 수 있나요?

내 스크립트에는 다음 줄이 있습니다.

mysqlinsert=$(/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot --password=notmyrealpassword << EOF
$mysqlrun)

무엇을 반환하든 변수는 $mysqlinsert항상 비어 있습니다. -nmysql과 함께 사용(출력 버퍼링 비활성화)을 시도 하고 EOFBehind를 시도했지만 $mysqlrun둘 다 작동하지 않았습니다.

답변1

명령이 원하는 출력을 stderr로 보내는 경우 명령 대체에서 명령의 stderr을 리디렉션합니다.

mysqlinsert=$(/Applications/MAMP/Library/bin/mysql ... 2>&1 << EOF ...)
#
#                                                     /\______addition____

...제안된 변경 사항에 초점을 맞추기 위해 일부 매개변수를 생략했습니다.

관련 정보