Linux学习(9)——Shell运算符

目录

概述及declare命令

1、declare声明变量类型

2、把变量声明为数值型

3、声明数组变量

4、声明环境变量

5、声明变量只读属性

数值运算方法

方法1:使用declare -i进行声明

方法2:expr或let数值运算工具

方法3:"$((运算式))"或"$[运算式]"

变量测试


学习视频乃是慕课教程:https://www.imooc.com/learn/336

本节是学习所作笔记及总结。

概述及declare命令

shell变量的缺点:弱类型变量,默认是字符串类型,进行运算很麻烦。

1、declare声明变量类型

declare [+/-][选项] 变量名
	选项:
		-:给变量设定类型属性
		+:取消变量的类型属性
		-a:将变量声明为数组型
		-i:将变量声明为整数型(integer)
		-x:将变量声明为环境变量
		-r:将变量声明为只读变量
		-p:显示指定变量的被声明的类型

2、把变量声明为数值型

例1:declare -i cc=$aa+$bb命令,进行相加运算。

aa=11
bb=22
#给变量aa和bb赋值
declare -i cc=$aa+$bb
#声明变量cc的类型是整数型,它的值是aa和bb的和

3、声明数组变量

例1:declare -a nums[3]="沙僧",声明数组。

#定义数组
nums[0]="唐僧"
nums[1]="孙悟空"
nums[2]="猪八戒"
declare -a nums[3]="沙僧"

#查看数组
# ${nums}打印的是数组的第一个元素的值
echo ${nums}
# ${nums[2]}打印的数组指定下标的值
echo ${nums[2]}
# ${nums[*]}打印的数组的所有元素
echo ${nums[*]}

例2:不使用declare -a命令,也可以声明数组。

4、声明环境变量

export其实是调用的declare命令。

例1:declare -x test=123命令,使用env查看环境变量。

declare -x test=123
	和export作用相似,但其实就是declare命令的作用

5、声明变量只读属性

如果一旦把某个变量设置了只读属性,就不能对它进行操作了。

declare -r test
	test是指变量名,给test赋予只读属性,但是请注意只读属性会让变量不能修改不能删除,甚至不能取消只读属性。

例1:declare -r test命令,设置test变量只读。

数值运算方法

方法1:使用declare -i进行声明

a=1
b=2
declare -i c=$a+$b
echo $c

方法2:expr或let数值运算工具

a=1
b=2
c=$(expr $a + $b)
#c的值是a和b的和,注意“+”号两侧必须有空格
echo $c

方法3:"$((运算式))"或"$[运算式]"

a=1
b=2
c1=$(($a+$b))
echo $c1
c2=$[$a+$b]
echo $c2

例1:运算

echo $(((11+4)*5/2))

echo $((14%3))

echo $((1&&0))
#逻辑与运算只有相与的两边都是1,与的结果才是1,否则与的结果是0

变量测试

变量测试在脚本优化时使用。

例1:测试x=${y-新值} ,y变量不存在

y=3
# 删除变量y
unset y
# x=${y-2},2是测试的一个新值
x=${y-2}
# 进行测试,因为变量y不存在,所以x=新值
echo $x

例2:测试x=${y-新值} ,y变量为空值

y=""
# x=${y-2},2是测试的一个新值
x=${y-2}
# 进行测试,因为变量y为空值,所以x=空值
echo $x

例3:测试x=${y-新值} ,y变量有值

y=3
# x=${y-2},2是测试的一个新值
x=${y-2}
# 进行测试,因为变量y有设置值,所以x=$y
echo $x

发布了500 篇原创文章 · 获赞 77 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/cnds123321/article/details/105024827
今日推荐