2016-10-04 3 views
0

私はドッカーコンテナを作成し、そのライフサイクルを通して作業することができます。クラウドファウンドリCLIは下記 インタラクティブであると期待して、私はシェルを使用しています、それを自動化するには私のコードです:上記の行ティルクラウドファウンドリCLIの複数のタクシーにシェルが必要です

  #!/usr/bin/expect -f 
     spawn cf login -a <api url> 
     #set timeout 30 
     expect "Email>" 
     send "email id\r" 
     expect "Password>" 
     send "passw0rd" 
     expect -exact ">" 
     send "2\r" 

、コードは上記の最後の2行があることが分かるexpected.Fromとして働いています私は '>'に2を入力する必要があります。この後、以下のような$プロンプトは「$」で終了するようになります。

 expect "[email protected]:~/PycharmProjects/Trishal-  VC/containers$" 
     send "cf ic init" 

は今、プロンプト「$」に来た後、私はコードを初期化するためのコマンドである「CF ICのinit」を受け入れることを期待します作業スペース。それが受け入れられないと、出力は '$'プロンプト自体にとどまり、処理を続行しません。私はまた、以下にしようとした:

  expect -exact "$" 
     send "cf ic init" 

を運 画面が trishalする@ trishal-VirtualBoxのでは残っていない:〜/ PycharmProjects/Trishal-VCは/コンテナ$

答えて

0

expect -exact "$"はドルと一致することを確認のために動作します。 sendのコマンドはすべて、 'Enter'キーを表す\rで送信する必要があります。最後のコマンドの後に、その時点でプログラムが完了し、それ以上の対話は必要ない場合は、expect eofを追加してください。

関連する問題