linux shell两个文件数值相加

linux shell两个文件数值相加,第1张

#!/bin/bash

n=1

for i in `cat 1.txt`do # 循环1.txt

num=`sed -n "${n}p" 2.txt` # 获取2.txt对行的数字

sum=$(($num + $i)) # 两数相加

echo $sum # 打印结果

n=$(($n + 1))

done

一、问题描述

1

在 linux 终端中,如果变量没有指定类型,则默认为字符型。

2

当然了,对字符型变量进行相加会得到我们不想要的结果。

END

二、解决办法

要想将一个变量声明为指定类型,其语法为:

declare(或typeset) [-aixr] 变量名

参数:

-a :声明为数组类型

-i :声明为整型

-x :声明为环境变量(功能与 export 相同)

-r :声明为只读类型,此变量声明后不能更改内容,也不能撤销

我们从最简单的开始示范。

1)将 a,b,c 声明为整型

现在再来输出 c ,可以看到它是 a 与 b 之和 3。

2)声明为数组

声明一个有两个元素的数组 arr[2]

再给数组的元素分别赋值

输出数组的元素。注意,数组元素的输出需要在其前后加上{ }。

下面是两种错误的输出方法。当然,结果也会出错。

3)至于声明为环境变量和只读类型,就不再分别举例演示了,大家可以自己去试试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7358334.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存