Pasar argumentos a un programa interactivo de forma no interactiva
Tengo un script bash que emplea el read
comando para leer argumentos de comandos de forma interactiva, por ejemplo, opciones sí/no. ¿Hay alguna manera de llamar a este script en un script no interactivo pasando los valores de las opciones predeterminadas como argumentos?
No es sólo una opción la que tengo que pasar al script interactivo.
Muchas maneras
canaliza tu entrada
echo "yes
no
maybe" | your_program
redirigir desde un archivo
your_program < answers.txt
use un documento aquí (esto puede ser muy legible)
your_program << ANSWERS
yes
no
maybe
ANSWERS
usa una cadena aquí
your_program <<< $'yes\nno\nmaybe\n'
Para tareas más complejas existe expect
( http://en.wikipedia.org/wiki/Expect ). Básicamente simula a un usuario, puede codificar un script sobre cómo reaccionar ante salidas de programas específicos y cosas relacionadas.
Esto también funciona en casos como ssh
el que prohíbe enviarle contraseñas.