shell入门之数值运算符(3种)

2019-07-21  本文已影响0人  一只佛手

本文为学习慕课视频所做的笔记,可点击链接查看视频详解。
https://www.imooc.com/learn/355

前文

shell变量的特点:弱类型、默认字符串型。如例子所示:

[root@localhost ~]# a=1
[root@localhost ~]# b=2
[root@localhost ~]# c=$a+$b
[root@localhost ~]# echo $c
1+2

可见,“+”只是连接字符串用,无法进行数值运算。要进行shell运算,有以下三种方法:

方法一:declare声明变量类型

[root@localhost ~]# a=1
[root@localhost ~]# b=2
[root@localhost ~]# declare -i c=$a+$b
[root@localhost ~]# echo $c
3

declare参数说明如下:

[root@localhost ~]# declare [+/-] [选项] 变量名

“-”:给变量设定类型属性

“+”:取消变量的类型属性

“i”:整型

“a”:数组型(如:“-a”将变量声明为数组型)

[root@localhost ~]# arr[0]=one
[root@localhost ~]# arr[1]=two
[root@localhost ~]# declare -a arr[2]=three
[root@localhost ~]# echo ${arr}  #不加下标默认查看第一个变量
one
[root@localhost ~]# echo ${arr[2]}
three
[root@localhost ~]# echo ${arr[*]}  #查看所有变量
one two three

“x”:环境变量

#export只是简化命令,本质是declare命令起作用
[root@localhost ~]# declare -x a=1
[root@localhost ~]# export a=1

“r”:只读变量(如:“-r”将变量声明为只读变量)

“p”:用于显示指定变量的被声明类型

[root@localhost ~]# declare -p c
declare -i c="3"  

方法二:expr或let数值运算

[root@localhost ~]# a=1
[root@localhost ~]# b=2
#注意:“+”号左右两侧必须有空格
[root@localhost ~]# d=$(expr $a + $b)
[root@localhost ~]# echo $d
3

方法三:“$((运算式))” 或 “$[运算式]”

[root@localhost ~]# a=1
[root@localhost ~]# b=2
[root@localhost ~]# c=$(($a+$b))
[root@localhost ~]# d=$[$a+$b]
[root@localhost ~]# echo $c $d
3 3
上一篇 下一篇

猜你喜欢

热点阅读