Как передать результаты bc в переменную

Я пишу сценарий и хочу передать результаты из bc в переменную. Я объявил 2 переменные (var1 и var2) и дал им значения. В моем сценарии я хочу передать результаты из bc в другую переменную, скажем var3, чтобы я мог работать с var3 для других вычислений. До сих пор я был в состоянии записать результат в файл, который не то, что я ищу, а также я смог отобразить результат в терминале, но я просто хочу передать результат в переменную в данный момент, чтобы Я могу работать с этой переменной.

echo "scale=2;$var1/var2" | bc
15
задан 15 July 2013 в 20:53

2 ответа

Если вы используете bash, вам лучше использовать здесь строку вместо конвейера, как в:

bc <<< "scale=2;$var1/$var2"

Это спасет вас от подоболочек.

Затем, чтобы сохранить выходные данные команды, используйте подстановку команд:

answer=$(bc <<< "scale=2;$var1/$var2")

Редактировать.

Если вы хотите что-то круче, чем bc, вот dc (калькулятор обратной польской):

answer=$(dc <<< "2k $var1 $var2/p")
0
ответ дан 15 July 2013 в 20:53

Подстановка команд сохраняет вывод команды в переменную.

var3=$(echo "scale=2;$var1/$var2" | bc)
0
ответ дан 15 July 2013 в 20:53

Другие вопросы по тегам:

Похожие вопросы: