为BASH中的每个循环增加一个变量0.025(NOT循环变量)

时间:2011-03-02 23:29:11

标签: bash

我想在循环内增加一个变量k。每个增量为0.025。我尝试使用:

let "k += 0.025"

let "$k += 0.025"

k += 0.025

以及许多其他变体。有谁知道如何做到这一点?

4 个答案:

答案 0 :(得分:9)

你可能正在制作一些巨大的bash杰作,如果没有国王的赎金就无法重写。

或者,这个问题可能会告诉你“给我写 Ruby Python Perl Awk < /强> ”。

答案 1 :(得分:5)

使用整数数学,然后在需要时转换为十进制。

#!/bin/bash

k=25

# Start of loop
#

  # Increment variable by 0.025 (times 1000).
  #
  let k="$k+25"

  # Get value as fraction (uses bc).
  #
  v=$(echo "$k/1000"|bc -l)

# End of loop
#    
echo $v

另存为t.sh,然后:

$ chmod +x t.sh
$ ./t.sh 
.05000000000000000000

答案 2 :(得分:4)

#!/bin/sh

k=1.00
incl=0.025
k=`echo $k + $incl | bc`

echo $k

答案 3 :(得分:1)

Bash不处理浮点数学。您需要bc等外部工具的帮助。