2015-12-24 6 views
0

Я пытаюсь вывести результат в с плавающей запятой, используя bc в bash. Но я получаю следующий вывод для следующего кода. Как я могу получить результат умножения отсюда, а также почему я получаю команду не найденный.using bc in bash script

#!/bin/bash 
v1=3.41 
v2=45 
v3= $(bc <<< "scale=4;$v1 + $v2") 
echo $v3 
v3= $(bc <<< "scale=4;$v1 - $v2") 
echo $v3 
v3= $(bc <<< "scale=4;$v1/$v2") 
echo $v3 
v3= $(bc <<< "scale=4;$v1 % $v2") 
echo $v3 
v3 = $(bc <<< "scale=4;$v1 * $v2") 
echo $v3 

выход я получаю ниже:

[email protected] ~ $ bash bc.sh 
bc.sh: line 4: 48.41: command not found 

bc.sh: line 6: -41.59: command not found 

bc.sh: line 8: .0757: command not found 

bc.sh: line 10: .0035: command not found 

bc.sh: line 12: v3: command not found 
+1

Было бы хорошо, если бы вы могли взглянуть на: [Что делать, если кто-то отвечает на мой вопрос?] (Http://stackoverflow.com/help/someone-answers) – Cyrus

+1

Пожалуйста, взгляните: http: //www.shellcheck.net/ – Cyrus

ответ

3

Пробелы имеет значение. Убери это.

v3= $(bc <<< "scale=4;$v1 + $v2") 
^

Объяснение: Следующая команда запускает app с локально экспортироваться var со значением value:

var=value app 

В вашем случае value пуст.

+0

Ах .... Большое спасибо за вашу помощь. Мультипликация также работает теперь только путем удаления этого дополнительного пространства. :) – user3708629