コマンドプロンプト向けの expect を Go 言語で作った。 https://github.com/zetamatta/expect 特徴 スクリプトは Lua で書く。GopherLua を使ったので、lua53.dll は不要 画面のプロンプトを待つ except() 関数は、本家だと標準出力・標準エラーを監視するが、こちらは「現在カーソルがある行とその上の行」を0.1秒間隔で監視させている git付属のOpenSsh のパスワード入力の際のプロンプトの出力先が標準出力・標準エラー出力のどちらでもないため、本方式を採用した。 kernel32.dll の ReadConsoleOutput という API を使ったが、これ、バッファの確保の仕方のルールが分からず、えらく苦労した。 コマンドに入力内容を送信する send() 関数は、本家だと標準入力に文字列を流し込むが、こちらはキー