К сожалению, это приводит к пустой переменной, и команда bc выводит свой результат на терминал в любом случае, пытаясь приписать aux

aux=&(bc -l <<< "scale = 5; c(${arguments[0]}*$constant)")
echo "$aux"

как я могу сохранить этот результат?

1 ответ1

3

В bash вы должны использовать $(...) для хранения вывода команды, а не &(...) .

aux=&(...)

интерпретируется как aux= и (...) связанные с & , т.е. очищает $aux в фоновом режиме и запускает bc в подоболочке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .