質問編集履歴

1 追記

TakakiKuwabara

TakakiKuwabara score 16

2017/03/05 10:29  投稿

centosでのexpectの利用について
CentOSでのexpectの使用方法について教えていただけないでしょうか。
シェルでのexpectにより、対話型の入力を自動で行うため、下記のようなコマンドを実装しようと考えております。
```test.sh
expect -c "
 spawn reboot
 expect \"Password:\"
 send \"vagrant\"
"
```
ところがいざ実行してみると、
```
[vagrant@localhost tmp]$ sh test.sh
spawn reboot
==== AUTHENTICATING FOR org.freedesktop.login1.reboot ===
Authentication is required for rebooting the system.
Authenticating as: root
Password: [vagrant@localhost tmp]$
```
などと表示され、expectによるパスワードの入力が実行されておりません。
どなたかわかる方、アドバイスいただけないでしょうか。
どなたかわかる方、アドバイスいただけないでしょうか。
追記:
ちなみにmysqlの初期化コマンドで試してみました。
どうやらsendコマンドが機能していないようです。
使い方が間違っているのでしょうか?
```ss.sh
expect -c "
 spawn mysql_secure_installation
 expect \"Enter password for user root:\"
 send \"Fjjrk195_\n\"
"
```
```
[vagrant@localhost tmp]$ sh ss.sh
spawn mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root: [vagrant@localhost tmp]$
```
  • CentOS

    4766 questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • シェル

    511 questions

    シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る