- 締切済み
Ubuntu expectコマンド
端末でのexpectコマンドの使い方がわからないので質問します。 Windows10で WSLを使い、Ubuntuを使っています。Postgresqlをインストールし、 sudoコマンドでPostgresqlを起動しているのですが、パスワードの入力を自動化したくて、expectコマンドを使ったのですが、エラーが出てしまいました。端末に入力したコマンドは下記です。 expect -c "spawn sudo service postgresql start;expect [sudo] user01 のパスワード:;send パスワード\n ;interact" エラーは次のようになりました。 spawn sudo service postgresql start invalid command name "sudo" while executing "sudo" invoked from within "expect [sudo] user01 のパスワード:" どなたか、端末からexpectコマンドを使ってPostgresqlを起動する書き方を教えてくださいお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ballville
- ベストアンサー率47% (233/487)
回答No.2
autoexpectをインストールし、 autoexpect 端末操作(ログインなど) ctrl+d とやると、やった手順をカレントフォルダ上のscipt.expというファイルに吐いてくれます。 このファイルはそのままシェルスクリプトとして使えるし、必要なら手直しして使ってもOK。 expectの書き方の参考にもなります。
- notnot
- ベストアンサー率47% (4900/10361)
回答No.1
端末から打ち込むのじゃなくて、シェルスクリプトにするのが良いと思います。
質問者
お礼
シェルスクリプトの書き方を調べます。お返事ありがとうございます。
お礼
ヒントありがとうございます。