Estoy escribiendo un script bash que activa Python y luego ingresa algunos comandos simples antes de salir. Lo tengo activando Python, pero ¿cómo hago para que el script simule la entrada del teclado en el shell de Python, como si una persona lo estuviera haciendo?

2
Trindaz 25 may. 2011 a las 06:55

4 respuestas

La mejor respuesta

Use un documento "aquí". Se parece a esto

command << HERE
text that someone types in
more text
HERE

No tiene que usar "AQUÍ", puede usar algo que tenga un poco más de significado en relación con el contexto de su código.

5
mu is too short 25 may. 2011 a las 03:04

No he usado python, pero normalmente hago eco de una cadena de comando y la canalizo al binario del intérprete de esta manera:

$ echo '<?php echo "2+2\n"; ?>' | /usr/bin/php
2+2

Supongo que puedes hacer lo mismo con Python.

1
opsguy 25 may. 2011 a las 03:04

Si realmente necesita simular escribir en el intérprete de Python, en lugar de canalizar un comando a python, probablemente pueda hacerlo con expect

expect debe estar disponible en el repositorio de su distribución. Para detalles,

man expect
4
Michael Berkowski 25 may. 2011 a las 03:04

¿Has probado echo "Something for input" | python myPythonScript.py?

2
JBernardo 25 may. 2011 a las 03:02