variable scripts script por pasar parametros ejemplos ejecutar con argumentos bash interactive non-interactive

bash - scripts - pasar argumentos a un programa interactivo de forma no interactiva



scripts bash ejemplos (4)

Tengo un script bash que emplea el comando de lectura para leer argumentos a comandos de forma interactiva, por ejemplo, opciones de sí / no. ¿Hay alguna manera de llamar a esta secuencia de comandos en un guión no interactivo pasando los valores de opción por defecto como argumentos?

No es solo una opción que tengo que pasar al guión interactivo.


Muchas maneras

canalizar su 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, se expect ( http://en.wikipedia.org/wiki/Expect ). Básicamente simula a un usuario, puede codificar una secuencia de comandos de cómo reaccionar a salidas de programas específicos y cosas relacionadas.

Esto también funciona en casos como ssh que prohíbe las contraseñas de tubería.


Puede colocar los datos en un archivo y redirigirlos así:

$ cat file.sh #!/bin/bash read x read y echo $x echo $y

Datos para el script:

$ cat data.txt 2 3

Ejecutando el script:

$ file.sh < data.txt 2 3


Solo quiero agregar una forma más. Lo encontré en otro lado, y es bastante simple. Digamos que quiero pasar "sí" para todas las indicaciones en la línea de comando para un comando "execute_command", entonces simplemente me gustaría conectar sí a él.

yes | execute_command

Esto usará sí como respuesta a todas las solicitudes de sí / no.