
작성된 문의 출력을 리디렉션하려고 합니다.내부에대화 mysqlsh
형 환경.
OSX의 터미널 내에서 mysqlsh를 실행 중인데 도움말 페이지에서 재라우팅을 수행하기 위한 적절한 매개변수를 찾지 못했습니다. mysqlsh 환경에는 자체적으로 허용되는 명령 세트가 있으므로 기본 "pipe grep > and_run.txt"를 통해 출력을 다시 라우팅하는 것은 작동하지 않습니다.
내 명령은 다음과 같습니다
:$ mysqlsh root@localhost:3306/my_schema
# now the mysqlsh interactive console is open with an active connection to my_schema
mysqlsh> shell.options.set('resultFormat','json')
mysqlsh> session.runSql("SELECT * FROM my_schema.my_table")
# prints the schema as json array - i would like to rerout this output
참고: 도움이 되는 사용자가 제안한 대로 이 질문을 SO에서 옮겼습니다(thx @user1934428).
답변1
내 목표를 달성하는 한 가지 방법은 "대화형 모드"를 사용하지 않고 mysqlsh
각 명령문에 대해 새로운 연결을 여는 것입니다.
이것이 각 명령에 대해 새 세션을 초기화한다고 생각하기 때문에 내가 선호하는 방법은 아니지만 작동합니다.
mysqlsh --uri root@localhost:3306/my_schema --sql --execute "select * from my_table;" --result-format=json/array > my_objects.json
더 깨끗한 솔루션에 대해 정말 관심이 있거나 감사하겠습니다.