2017-10-31 6 views
0

Ich versuche, die Ausgabe des Bash-Befehls PYVER="$(python --version)" innerhalb der Variablen PYVER zu erfassen. Aus irgendeinem Grund scheint es nicht zu funktionieren, als wenn ich über echo "$PYVER" überprüfe, gibt es nichts zurück (leere Zeile). Durch meine Anlehnung an Bash-Skripte (ich bin neu dazu) habe ich versucht, andere Ausgaben in diesem Format zu erfassen und es hat funktioniert. Wenn jemand meinen Fehler finden kann, würde ich sehr dankbar sein.Ich versuche, die Ausgabe des Bash-Befehls zu erfassen

Antwort

3

da Python schreibt die Version stderr dies funktionieren sollte:

PYVER=$(python --version 2>&1) 
echo $PYVER 
1

Das Problem, das ich glaube, ist, dass Python --Version sendet es Ausgabe stder, nicht stdout. Die Weiterleitungen unten scheinen zu tun, was Sie wollen.

$PYVER="$(python --version 2>&1 > /dev/null)" 
$echo $PYVER 
$Python 2.7.10 
+0

Danke @BenCastan, das hat perfekt funktioniert –

Verwandte Themen