На этот вопрос уже есть ответ здесь:
Я пытаюсь сделать это в виртуальном боксе Ubuntu с текстом оболочки :
#!/bin/bash
n1=3.5
n2=3.6
n3=3.7
n=3
let promedio=n1+n2+n3/3
echo $promedio
- это средняя оценка учащегося. Но тут терминал показывает ошибку:
line 7: let: 3.5: syntax error: invalid arithmetic operator (error token is ".5")
Почему? Я не могу ставить + с числами. Что я могу сделать?
Я читал о команде BC, но не знаю, куда она идет.
РЕДАКТИРОВАТЬ: Я пытался добавить | BC в конце, но это та же ошибка. Также я попытался посмотреть сообщение об этом, но они используют что-то другое, я действительно не понимаю, потому что я действительно новичок в Ubuntu. Они используют $ echo
или что-то в этом роде, но код, который я использую, отличается.
В ударе нет никакой арифметической операции с плавающей точкой. Так, можно использовать BC для вычисления его:
#!/bin/bash
n1=3.5
n2=3.6
n3=3.7
promedio=`echo $n1 + $n2+ $n3/3 | bc`
echo $promedio # 3.5 + 3.6 + 1 = 8.1 **This might be not what you want**
до н.э простой калькулятор командной строки.
BTW, echo <expression> | bc
команда отправит вычисление выражения, которое получено с помощью BC для избиения.
Немного объяснения:
Так, путем инкапсуляции с два ' , Вы говорите, что просередина месяца значения является результатом, который получен командой. (Другими словами, это называют заменой команды, см. здесь для получения дополнительной информации)
При помощи echo
, Вы говорите, что результатом будет вывод некоторого вычисления, которое получено BC
И в этих командах существует логический дефект, если Вы будете использовать bc
как это, то это разделится с точки зрения целого числа, (3.7/3 = 1), таким образом, необходимо будет использовать bc -l
, команда к (3.7/3 = 1.2333...) вычисляет точно.
И разделить сумму этих 3 чисел, необходимо правильно сделать круглую скобку:
#!/bin/bash
n1=3.5
n2=3.6
n3=3.7
promedio=`echo "($n1 + $n2+ $n3)/3" | bc -l`
echo $promedio # (3.5 + 3.6 + 3.7)/3 = 3.60000...