с помощью команды echo для вычисления десятичных знаков, как показано ниже:
$echo $((1+1+2.1))
выдаст эту ошибку ниже
bash: 1+1+2.1: syntax error: invalid arithmetic operator (error token is ".1")
Итак, что я должен сделать, чтобы получить результат 4.1
?
$(( ... ))
— это не функцияecho
, это функция оболочки. Он работает одинаково для каждой команды, а не толькоecho
, и завершается до запускаecho
или любой другой команды. Тем не менее, эта функция оболочки не поддерживает операции с плавающей запятой (или нецелочисленные) вообще. В дополнение к связанному дубликату см. BashFAQ #22. - person Charles Duffy   schedule 13.06.2020echo 1+1+2.1 | bc
, я пытался понять, что такое опция-l
, но из того, что я вижу, так это то, что-l
добавляет больше десятичных знаков к результату, который имеет много десятичных знаков. - person CuriousNewbie   schedule 13.06.2020