我正在尝试一些非常简单的东西,但我正在尝试的所有代码都不起作用。我需要在bash中添加两个浮点数。我这样做:
result1=`$CURL -o /dev/null -s -w %{time_total} $url1`
result2=`$CURL -o /dev/null -s -w %{time_total} $url2`
result3=`$CURL -o /dev/null -s -w %{time_total} $url3`
total= `expr $result2 + $result3`
echo $total | $GAWK -F: '{ print "connection_1.value " $1 }'
但在提示我得到这个输出:
./http_response_2: line 12: 0,018+0,255: command not found
connection_1.value
我正在尝试这样做:
result1=`$CURL -o /dev/null -s -w %{time_total} $url1`
result2=`$CURL -o /dev/null -s -w %{time_total} $url2`
result3=`$CURL -o /dev/null -s -w %{time_total} $url3`
total= `$result2 + $result3 | bc`
获得相同的结果。提前致谢!
有3个问题:
total=
和`之间应该没有空格$result2 + $result3
之前回声失踪解决所有这些问题:
total=$(tr ',' '.' <<< "$result2 + $result3" | bc -l)
如果您担心小数点前的前导0,请尝试:
total=$(tr ',' '.' <<< "$result2 + $result3" | bc -l | xargs printf "%g")
而不是用点替换逗号,不要首先产生逗号。
它们来自本地化,因此使用LC_ALL = C作为前缀,如:
LC_ALL=C curl -o /dev/null -s -w %{time_total} www.google.com
并放弃过时的反引号,使用$(...)代替:
result1=$(LC_ALL=C $CURL -o /dev/null -s -w %{time_total} $url1)