2016-06-30 2 views
3

インストーラを使用してアプリケーションをインストールするプレイブックを書きたいと思います。私はこれを行うには、可能性のあるexpectモジュールを使用しています。インストールの開始時に、インストールを続行するにはENTERを押すように求められます。 ENTER keypressを送信するにはどうすればよいですか?Enterキーを押せば、あなたの期待に応えられますか?

+0

あなたは 'child.sendline()'を試しましたか? – jfs

答えて

1

yesというlinuxコマンドがあります。これは、 "肯定的な応答またはユーザー定義の文字列を出力します"。

私はそれをチェックしませんでしたが、あなたは使用して試みることができる:

- shell: yes '' | your command goes here 

simulation keypress in bash scriptを見てください。

あなたが(など、あなたが<>|を使用していると言う)シェルを介してコマンドを実行したい場合は、あなたがそのような/bin/bash -c "/path/to/something | grep else"

としてコマンドでシェルを指定する必要があります。 from documentationを撮影

responses: 
    press_enter: /bin/bash -c "echo" 

したがって、あなたは、応答としてのようなものを/bin/bash -c "echo"または類似した何かを試すことができます

+0

'shell'モジュールではなく' expect'モジュールでこれを使いたいと思います。 –

+0

[documentation](http://docs.ansible.com/ansible/expect_module.html)を見て、答えとして「echo」を試すことができます –

+0

@LowKianSeong、私は少し答えを変えました。あなたの問題を解決し、追加するものがあれば - 改善してください!私は構文と間違えるかもしれない –

関連する問題