Starting from version 1.9
, Fabric includes a way of managing this properly.
The section about Prompts in the Fabric documentation says:
The prompts dictionary allows users to control interactive prompts. If
a key in the dictionary is found in a command’s standard output
stream, Fabric will automatically answer with the corresponding
dictionary value.
You should be able to make Fabric automatically answer prompts like this:
with settings(prompts={'Do you want to continue [Y/n]? ': 'Y'}):
run('apt-get update')
run('apt-get upgrade')