Leider führt dies zu einer leeren Variable, und der Befehl bc druckt sein Ergebnis trotzdem auf dem Terminal aus, während er versucht, es an aux zuzuordnen
aux=&(bc -l <<< "scale = 5; c(${arguments[0]}*$constant)")
echo "$aux"
wie kann ich dieses Ergebnis speichern?
Antwort1
In Bash sollten Sie $(...)
zum Speichern der Ausgabe eines Befehls verwenden, nicht &(...)
.
aux=&(...)
wird als interpretiert aux=
und (...)
durch verbunden &
, d. h. es wird $aux
im Hintergrund gelöscht und bc
in einer Untershell ausgeführt.