我尝试将两个数字(实际上这些是一些远程执行命令的输出)分配给两个不同的变量,比如说A和B.
当我回显A和B时,它们会显示值:
echo $A
809189640755
echo $B
1662145726
sum=`expr $A + expr $B`
expr: non-integer argument
我也尝试过使用typeset -i但是没有用。就像我看到的那样,bash不会将我的变量视为整数。将变量转换为整数的最简单方法是什么,这样我可以对它们进行加,减,乘等等?
感谢。
答案 0 :(得分:1)
你应该能够做到
expr $A + $B
或
$(( $A + $B ))
答案 1 :(得分:1)
首先,你不应该使用expr两次。所以
sum=`expr $A + $B`
应该有效。另一种可能是使用管道
sum=`echo "$A + $B" | bc -l`
即使是乘法也应该可以正常工作。我不确定如果你的数字太大,它会如何表现,但是使用你的价值为我工作。
答案 2 :(得分:0)
尝试使用linux bash:
A=809189640755
B=1662145726
echo $((A + B))
答案 3 :(得分:0)
您必须复制并粘贴此代码并运行。希望对您有所帮助。
echo "enter first number"
read num1
echo "enter second number"
read num2
echo $((num1 + num2))
将文件另存为file_name.sh并从终端运行它