linux expect、spawnは自動的に登録します。


今日はシナリオを書きます。端末の出力と対話して、簡単なspawnとexpectを使って勉強しています。
1. まずlinuxを保証します serverにexpectをインストールしました。自分のサーバーはsuseです。 10.2、比較的古いバージョンで、デフォルトではexpectはインストールされていません。次のrpmで包装します。(今は外でスモッグしています。 イベントpriseは基本的に11または12です。急いでアップグレードします。そうでないと次のrpmパッケージの多くは対応バージョンがありません。インストール後、/usr/bin/ディレクトリの下にexpect実行可能ファイルがあります。
2. expectについて、まず説明します。spawnの内容だけがexpectに捕獲されます。expectの内容には端末の出力、eofとタイムアウトが含まれています。
3. 簡単なログインスクリプトに基づいて説明します。
 
#!/usr/bin/expect--> 1
set timeout 30--> 2
spawn ssh [email protected] -p 22--> 3
#expect {
#       "(yes/no)?" {send "yes\r"}
#}
expect {
"Password:" {send "****\r"}--> 4
}
expect {
"#" {send "cd /home/software\r"}--> 5
}
interact-->6
 
その中: 
1)〓〓!/usr/bin/expectではなく、嚔ではありません。/bin/shしました
2) セット タイムアウト 30,まずタイムアウト時間を設定します。
3) spawn一つのssh登録プロセス;
4) 端末が「Password」を出力する時にパスワードを入力します。
5) ログイン後、パスを入力します。
6) インタラクティブを待つ。ここでインターアクトを使わないと、自動的に退出します。
4. 簡単なインタラクティブで、spawnとexpectを使うのはとても便利です。expectにも多くの高級な応用があります。研究したことがありません。これを専門に話している本があります。 expect、ここにあるダウンロード:http://bbs.chinaunix.net/thread-1769951-1-1.html