[golang]標準入力を受け取りつつ、システムコマンド(mysqlなど)を実行する

お世話になっております。
しゃまとんです。

最近、golangに触れる機会が多くなっております。Gopherかわいい(*´∀`)

さて、goでDBを初期化するためのバッチファイルを書いていたのですが、

上記のようにgoからシステムコマンドを実行したかったのですが、もろもろ調査して標準入力含めて、実行できた際のメモです。

はじめは、上記のコマンドをそのまま、exec.Commandに渡してやろうとしたのですが、”<“, “>”のような特殊文字は渡せないみたいで、StdinPipeを使うことで入力を渡すことができるようです。

下記がサンプルになります。

paswwordに関しては-pにくっつけておかないとエラーになるかと思います。
mysqlでの例ですが、変数等は適宜置き換えたらいいのではないかと思います。

以上です。

■参考
golang で外部コマンドを実行して標準出力を取得する

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です