He creado un script bash realmente simple que ejecuta algunos comandos. uno de estos comandos necesita la entrada del usuario durante el tiempo de ejecución. es decir, le pregunta al usuario "¿quieres bla, bla, bla?", simplemente quiero enviar una pulsación de tecla enter para que el script esté completamente automatizado.
No tendré que esperar la entrada ni nada durante el tiempo de ejecución, es suficiente con enviar la pulsación de tecla y el búfer de entrada se encargará del resto.
apt-get
, la solución adecuada es preconfigurar la base de datos debconf con sus valores preferidos; entonces no te preguntará.Respuestas:
o aprovechando la nueva línea implícita que genera el eco (gracias Marcin)
Ahora podemos simplemente usar la
--sk
opción:es decir
sudo rkhunter --sk --checkall
fuente
xxd
, obtiene5c6e
hexadecimal, que es un literal\n
. si lo hacesecho | xxd
, en realidad terminas con un hechizo de0a
. Así que supongo que utilice el programa que necesite.0a0a
que todavía no es el previsto, agregando un-n
suprime la nueva línea implícita. Pero, por supuesto, tienes razón, un simpleecho | ...
funciona bien aquí. Actualizaré mi respuesta.5c6e
? ¿Omitió-e
o su caparazón oecho
no trató esa opción?echo -ne "\n" | xxd 0000000: 0a
yecho -n "\n" | xxd 0000000: 5c6e
yecho "\n" | xxd 0000000: 5c6e 0a
no he visto ninguna diferencia entre comillas simples y dobles. Mi shell es solo un bash normal, ¿hay configuraciones que regulen el comportamiento de una funcionalidad tan básica?Puede que el
yes
comando le resulte útil.Ver
man yes
fuente
yes
Lo encuentro útil.yes
envía como salida. Lea la página del manual.Puedes usar yes .
fuente
Aquí está el uso de muestra usando
expect
:Consultar:
man expect
para más información.fuente
Puede hacer uso de esperar (el hombre espera viene con ejemplos).
fuente