Ich habe ein Bash-Skript, a.sh, und darin habe ich ein Python-Skript b.py aufgerufen. Das Python-Skript berechnet etwas, und ich möchte, dass es einen Wert zurückgibt, der später in a.sh verwendet wird. Ich weiß, ichWie man Variablen vom Python-Skript zum Bash-Skript übergibt
tun kannIn a.sh:
var=`python b.py`
In b.py:
print x # when x is the value I want to pass
Aber das ist nicht so praktisch, weil ich in b andere Nachrichten auch drucken. py
Gibt es einen besseren Weg, es zu tun?
Edit:
Was ich jetzt tue ist nur
var=`python b.py | tail -n 1`
Es bedeutet, dass ich viele Dinge in b.py drucken können, aber nur die letzte Zeile (die letzte Druckbefehl, vorausgesetzt, dass es "\ n" nicht enthält, wird in var gespeichert.
Danke für alle Antworten!
Nun, vielleicht könntest du das Batch-Skript nicht starten - mach alles von Python, wo die Verteilung zwischen Daten und Code immer klar ist, du musst keinen neuen Prozess erzeugen, nur um einen Skalarwert zu lesen (wie die Antworten mit "Katze" unten), und so weiter. – jsbueno