如何在 UNIX 中添加值?
How to add values in UNIX?
我是 Unix 新手。我尝试添加如下所述的值:
var='expr 2 + 2'
echo "Total value: $var"
我希望输出为 Total value: 4
。相反,我得到 Total value: expr 2 + 2
.
谁能帮我找出我的错误?
简化方法:
var=$((2 + 2))
或bc
(计算器语言)执行数学计算的方法:
var=$(echo '2 + 2' | bc)
echo "Total value: $var"
Total value: 4
var=$(expr "2" + "2")
echo "Total value: $var"
你需要知道一个shell概念:当你写var='expr 2 + 2'
时,那是一个字符串。但是您想获得此命令的结果。
为此,您需要编写 $(expr 2 + 2)
来执行命令,并替换其输出。
这是一个有效的替代品:
var=$(expr 2 + 2)
echo "Total value: $var"
欢迎来到 Unix 世界! ;)
另一种方式:
var=$(( 2 + 2 ))
echo "Total value: $var"
(编辑:不称其为 bashism)
我是 Unix 新手。我尝试添加如下所述的值:
var='expr 2 + 2'
echo "Total value: $var"
我希望输出为 Total value: 4
。相反,我得到 Total value: expr 2 + 2
.
谁能帮我找出我的错误?
简化方法:
var=$((2 + 2))
或bc
(计算器语言)执行数学计算的方法:
var=$(echo '2 + 2' | bc)
echo "Total value: $var"
Total value: 4
var=$(expr "2" + "2")
echo "Total value: $var"
你需要知道一个shell概念:当你写var='expr 2 + 2'
时,那是一个字符串。但是您想获得此命令的结果。
为此,您需要编写 $(expr 2 + 2)
来执行命令,并替换其输出。
这是一个有效的替代品:
var=$(expr 2 + 2)
echo "Total value: $var"
欢迎来到 Unix 世界! ;)
另一种方式:
var=$(( 2 + 2 ))
echo "Total value: $var"
(编辑:不称其为 bashism)