mysqlsh インタラクティブ環境の出力をリダイレクトする

mysqlsh インタラクティブ環境の出力をリダイレクトする

私は発言の出力をリダイレクトしようとしています内部インタラクティブな環境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

私の目標を達成する 1 つの方法は、「対話モード」を使用せずmysqlsh、ステートメントごとに新しい接続を開くことです。

これはコマンドごとに新しいセッションを初期化すると思われるため、私が好む方法ではありませんが、機能します。

mysqlsh --uri root@localhost:3306/my_schema --sql --execute "select * from my_table;" --result-format=json/array > my_objects.json

よりクリーンなソリューションには本当に興味があり、感謝しています。

関連情報