hhh*_*hhh 38 math bash evaluation sh
echo 3+3
Run Code Online (Sandbox Code Playgroud)
我怎样才能在Bash中评估这样的表达式,在本例中为6?
Dan*_*tta 29
expr
是标准方式,但它只处理整数.
bash有几个扩展,它们只处理整数:
$((3+3)) returns 6
((3+3)) used in conditionals, returns 0 for true (non-zero) and 1 for false
let 3+3 same as (( ))
Run Code Online (Sandbox Code Playgroud)
let
并且(( ))
可以用于分配值,例如
let a=3+3
((a=3+3))
Run Code Online (Sandbox Code Playgroud)
对于浮点,你可以使用 bc
回声3 + 3 | 公元前
gho*_*g74 16
在诸如zsh/ksh之类的shell中,你可以使用浮点数来表示数学.如果你需要更多的数学能力,可以使用像bc/awk/dc
例如
var=$(echo "scale=2;3.4+43.1" | bc)
var=$(awk 'BEGIN{print 3.4*43.1}')
Run Code Online (Sandbox Code Playgroud)
看看你想做什么
awk '{printf "%.2f\n",$0/59.5}' ball_dropping_times >bull_velocities
Run Code Online (Sandbox Code Playgroud)
使用可以使用expr命令:
expr 3 + 3
Run Code Online (Sandbox Code Playgroud)
要将结果存储到变量中,您可以执行以下操作:
sum=$(expr 3 + 3)
Run Code Online (Sandbox Code Playgroud)
要么
sum=`expr 3 + 3`
Run Code Online (Sandbox Code Playgroud)