Tengo un script bash, a.sh, y en él tengo un script python b.py. El script de python calcula algo, y quiero que devuelva un valor que se usará más adelante en a.sh. Sé que puedo hacerCómo pasar variables del script de Python al script bash
En a.sh:
var=`python b.py`
En b.py:
print x # when x is the value I want to pass
pero esto no es tan conveniente, porque yo también imprimir otros mensajes en b. py
¿Hay alguna forma mejor de hacerlo?
Editar:
Lo que estoy haciendo ahora es sólo
var=`python b.py | tail -n 1`
Significa que puedo imprimir muchas cosas dentro b.py, pero sólo la última línea (el último comando de impresión, suponiendo que no contenga "\ n" en él) se almacenará en var.
¡Gracias por todas las respuestas!
Bueno, tal vez no podrías hacer el script por lotes para empezar: haz todo desde Python, donde la diferencia entre los datos y el código es siempre clara, no tienes que generar un nuevo proceso simplemente para leer un valor escalar (como las respuestas que usan "cat" a continuación), y así sucesivamente. – jsbueno