Es posible que no tenga la capacidad de instalar Expect en el servidor de destino. Este suele ser el caso cuando uno escribe, por ejemplo, un trabajo de Jenkins.
Si es así, consideraría algo como la respuesta a lo siguiente en askubuntu.com:
https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line
printf 'y\nyes\nno\nmaybe\n' | ./script_that_needs_user_input
Tenga en cuenta que, en algunos casos excepcionales, el comando no requiere que el usuario presione Intro después del carácter. en ese caso, omita las líneas nuevas:
printf 'yyy' | ./script_that_needs_user_input
En aras de la exhaustividad, también puede utilizar un documento aquí:
./script_that_needs_user_input << EOF
y
y
y
EOF
O si su shell lo admite, una cadena aquí:
./script <<< "y
y
y
"
O puede crear un archivo con una entrada por línea:
./script < inputfile
Nuevamente, todo el crédito por esta respuesta es para el autor de la respuesta en askubuntu.com, lesmana.
echo y | command
debería funcionar.
Además, algunos instaladores tienen un indicador de "auto-sí". Son -y
para apt-get
en Ubuntu.
El comando 'sí' hará eco de 'y' (o lo que le pidas) indefinidamente. Úselo como:
yes | command-that-asks-for-input
o, si se requiere una 'Y' mayúscula:
yes Y | command-that-asks-for-input
Si quiere pasar 'N' todavía puede usar yes
:
yes N | command-that-asks-for-input