2016-07-28 5 views
0

私はこの作業を夢中にしています。Bashは同じプロセスで2つのコマンドを期待しています

私はカップルのパスワードを設定するためにexpectを使用する必要があります。私が持っている問題は、同じプロセッサで2つのコマンドを実行する必要があることです。ここでは、コード

yum install -y expect 
    secret="price_aws_git_secret.txt" 
    eval $(ssh-agent) 
    pass=$(cat $secret) 
    expect << EOF 
      spawn ssh-agent ssh-add price_aws_github 
      expect "Enter passphrase" 
      send "$pass\r" 
      spawn git clone [email protected]/repo.git 
      expect "Are you sure you want to continue connecting" 
      send "yes\r" 
      expect eof     
    EOF 

最初のコマンド

は、ssh-agentのにSSHキーを追加し、gitのクローンは、同じプロセスである必要はあり2番目のコマンドは、そのエージェントを取得します。

ドキュメントとサンプルを見る私は、同じプロセスで2つのコマンドを使用してexpectがどのように動作するかを見ることができません。

提案がありますか?

ありがとうございます!

+0

いつものように、代わりに公開鍵認証を設定することで '期待'を避けることができるはずです。 – chepner

+0

それは私がやったことですが、秘密鍵をssh-addに追加したいときにはgithubに公開鍵を追加してもパスワードを入力する必要があります – paul

+0

あなたはすばらしいことになるでしょう。パスフレーズのない鍵を作成してみませんか? –

答えて

2

あなたの質問に答えるために、sshキーの使用を推奨します。同時に2つのプロセスと対話する必要はありません。

関連する問題