Bestimmte Bash BC-Verwendung speichert das Ergebnis nicht in der Variable

Bestimmte Bash BC-Verwendung speichert das Ergebnis nicht in der Variable

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 $auxim Hintergrund gelöscht und bcin einer Untershell ausgeführt.

verwandte Informationen