[英]linux script simple arithmetic code
所以我只是在研究一些简单的算术代码。 这是我得到的:
echo "The number should be 2";
declare -i input added
input= date +%w
let added="input/2"
echo "$added"
当我运行它的输出是
4
0
我正试着拿到2。我到底在做什么错?
问题是您如何创建input
变量。 它只是在执行命令,而不是将结果分配给input
。 相反,请执行以下操作:
input=$(date +%w)
这会将date
命令的输出分配给input
。
替代方式:
#Just echo the result:
expr $(date +%w) / 2
#store the result into a variable:
input=$(expr $(date +%w) / 2)
echo $input
2
需要注意的一件事是,在Bash中,等号周围通常不能有空格。
使用let
的另一种语法是使用$(())
或(())
:
var2=$((var1 / 2))
要么
((var2 = var1 / 2))
在双括号内,您可以使用空格,并且可以从变量名的开头省略美元符号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.