スクリプト期待 はじめに期待1. 対話を処理するために使用されるコマンドです期待しています。期待して、我々は完全に自動化するために、スクリプトを書くの過程で相互作用することができます。 期待する(自動応答)に基づく、Tcl(Tool Command Language)の言語が進化 :最も重要な4つのコマンドがあり期待 送信:プロセスに文字列を送信するため のプロセスから文字列を受信:期待 産卵:新しいプロセスを開始 対話します。ユーザーが対話できるよう 期待してインストール2.を 期待してインストール#yumは-y 情報を期待して見に [ルート@ web1とSED]期待-qi#のRPM 名:(再配置可能ではない):再配置を期待 バージョン:5.44.1.15ベンダー:CentOSの リリース:5.el6_4ビルドDATE:月2013年11月4日午前5時05分44秒PM CST インストールDATE:日2016年8月21日11時48分49秒PM CSTビルドホスト:c6b9.bsys.dev.centos.org グループ:開発/言語ソースRPM:期待-5.44.1.15-5.el6_4.src.rpm サイズ:566637ライセンス:パブリックドメインの 署名:RSA / SHA1、月2013年11月4日午前7時53分54秒PM CST、キーID 0946fca2c105b9de パッケージャ:CentOSのビルドシステム<http://bugs.centos.org> URL:http://expect.nist.gov/ 概要:Aプログラム・スクリプトの相互作用およびテストユーティリティの 説明: 期待を自動化し、テストするためのTCLアプリケーションで 、このようなインタラクティブなアプリケーションをTELNET、FTP、passwdのは、fsck、よう にrlogin、先端なども簡単にするためのスクリプトになり期待し 、それを他のプログラムと相互作用を制御します。 このパッケージには、期待とそれを使用するいくつかのスクリプトが含まれています。 、任何有交互性的操作都可以用来做期待する 3。使用详解期待する #!/ binに/ bashの << EOF>を/ dev / null期待 2>&1 -は/ dev / nullに、出力キャビティに標準出力の代表を2>&1と、エラー出力を表し、標準出力に向けられています。 産卵は$ 1 passwdに-農産物は$ 1コマンドをpasswdに 期待する「パスワード:」 - RDに駐車する場合:この識別子の終わり 送信「456 \ R」 - 456私はそれを渡すよ 期待「パスワード:」を-とき再びRD停止:識別子の終わり 送信「456 \ R」 -私は再びそれを渡すよ456は EOF期待が-の終わりを期待表現 EOF スクリプトを書きましたので、実行方法- #SHがテストを1.expectユーザー名に続いてパスワードを変更する必要がありますので、$ 1の リモートSSH #!/ binに/ bashが $ 1 '/ d'が/root/.ssh/known_hosts -iのsed '/ ^' << EOF>を/ dev / null 2期待>&1つの 産卵SSH $ 1 期待"NO)?" 送信"はい\ rを" 期待"パスワード:" 送信"123456 \ rを" 送信「\ N-終了」 EOF期待 EOF マシンの前提と管理がN単位、パスワードは(なしのssh等価)と同じではありませんしている、今、各マシン上のファイルを作成する必要があり 、このファイル- ip_user_passwd.txt#猫をそれはあなたの管理マシンIP、ユーザとそれに対応するパスワードの全てが含まれ 10.1.1.63ルートOracle 10.1.1.77ルート1234 10.1.1.73 user1の123456 10.1.1.85ルート54321 ...... #CATの6.expectの #!/ binが/、bashの CATのip_user_passwd.txt |読むIPユーザーパスワードがながら ん わかるsed -i '/ ^' $ IP '/ D' /root/.ssh/known_hostsは EOF&期待<<>は/ dev / nullに 産卵SSH IP -l $ $ユーザー 期待「)?」 送信は「はい、\ rを」 期待「RD:」 送信「$パスワード\ N-」 期待"]#" 送信「タッチを/ tmp / 123 \ n」は- ここにあなたがこれらのマシン上で実行したいたびに変更することができ、コマンド 「終了を\ n」は送信 EOF期待 EOF 行わ