Я пишу сценарий и хочу передать результаты из bc
в переменную. Я объявил 2 переменные (var1
и var2
) и дал им значения. В моем сценарии я хочу передать результаты из bc
в другую переменную, скажем var3
, чтобы я мог работать с var3
для других вычислений. До сих пор я был в состоянии записать результат в файл, который не то, что я ищу, а также я смог отобразить результат в терминале, но я просто хочу передать результат в переменную в данный момент, чтобы Я могу работать с этой переменной.
echo "scale=2;$var1/var2" | bc
Если вы используете bash, вам лучше использовать здесь строку вместо конвейера, как в:
bc <<< "scale=2;$var1/$var2"
Это спасет вас от подоболочек.
Затем, чтобы сохранить выходные данные команды, используйте подстановку команд:
answer=$(bc <<< "scale=2;$var1/$var2")
Если вы хотите что-то круче, чем bc
, вот dc (калькулятор обратной польской):
answer=$(dc <<< "2k $var1 $var2/p")
Подстановка команд сохраняет вывод команды в переменную.
var3=$(echo "scale=2;$var1/$var2" | bc)