2

私は期待される働きを得ていないようです。実際にプロンプ​​トをキャッチできないようです。

ここに私が持っているものがあります:

with settings(hide('commands', 'warnings') , warn_only=True):
   prompts = expect('Are you sure you want to perform this operation? [Y/N]:', 'N')
   with expecting(prompts):
      run(sudo("/something.sh apply /some.file" , user="someuser"))

私は何か間違ったことをしていると確信しています。

4

1 に答える 1

0

私はいくつかの小さなことであなたのコードを編集しました:

  1. expectingリストが必要です
  2. Fabric/Fexpect sudo() と run() はネストできません。おそらく sudo() だけが必要です
  3. []スラッシュなどで正規表現記号をエスケープする\[か、「期待値」を短くする必要があります。

    prompts = []
    prompts += expect('Are you sure.*', 'N')
    with expecting(prompts):
        sudo("/something.sh apply /some.file" , user="someuser")
    

hide('commands')また、プロンプトが使用するものによっては、おそらくすべきではありませんsomething.sh

于 2012-11-21T15:58:33.060 に答える