linux脚本简单的算术代码

时间:2009-11-19 19:42:09

标签: linux bash scripting math

所以我只是在研究一些简单的算术代码。这就是我得到的:

echo "The number should be 2";

declare -i input added

input= date +%w

let added="input/2"

echo "$added"

当我运行它时输出是

4
0

我想要得到2.我到底做错了什么?

3 个答案:

答案 0 :(得分:5)

问题是如何创建input变量。它只是执行命令,但没有将结果分配给input。相反,做:

input=$(date +%w)

这会将date命令的输出分配给input

答案 1 :(得分:3)

替代方式:

#Just echo the result:
expr $(date +%w) / 2

#store the result into a variable:
input=$(expr $(date +%w) / 2)

echo $input
2

答案 2 :(得分:0)

有一点需要注意的是,在Bash中,你通常不能在等号周围留出空格。

使用let的替代语法是使用$(())(())

var2=$((var1 / 2))

或者

((var2 = var1 / 2))

在双括号内,您可以使用空格,并且可以从变量名的开头省略美元符号。