Linux 第二章 shell编程之运算符

shell编程

shell变量的缺点?

弱类型

默认字符串型

 

shell运算符

1.      declare命令:声明变量类型

declare [+/-] [选项] 变量名

选项

-:给变量设定类型属性

+:取消变量的类型属性

-a:将变量声明为数组型

[root@localhost sh]#movie[0]=zp

[root@localhost sh]# movie[1]=tp

[root@localhost sh]# declare -a movie[2]=live

#定义数组

[root@localhost sh]# echo ${movie}

zp

[root@localhost sh]# echo ${movie[2]}

live

[root@localhost sh]# echo ${movie[*]}

zp tp live

#查看数组

 

-i:将变量声明为整数型(integer

[root@localhost sh]# aa=11

[root@localhost sh]# bb=22

#给变量aabb赋值

[root@localhostsh]# cc=$aa+$bb

[root@localhost sh]# declare -i cc=$aa+$bb

#声明变量cc的类型是整数型,它的值是aabb的和

[root@localhostsh]# echo $cc

 

-x:将变量声明为环境变量

           declare –x test=123

           #和export作用相似,但 其实是declare命令的作用

 

-r:将变量声明为只读变量

           [root@localhost sh]#declare -r test

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

 

-p:显示指定变量的被声明的类型

                            [root@localhost sh]# declare-p cc

declare -i cc="33"

                            #查询指定变量的属性

                            declare–p

                            #查询所有变量的属性

        

        

2.      数值运算的方法

expr或let数值运算工具

[root@localhost sh]# aa=11

[root@localhost sh]# bb=22

[root@localhostsh]# dd=$(expr $aa + $bb)

[root@localhostsh]# echo $dd

33

#dd的值是aa和bb的和。注意“+”号左右两侧必须有空格。

        

         “$((运算式))”或“$[运算式]”

[root@localhost sh]# aa=11

[root@localhost sh]# bb=22

[root@localhost sh]# ff=$(($aa+$bb))

[root@localhost sh]# echo $ff

33

[root@localhost sh]# uu=$[$aa+$bb]

[root@localhost sh]# echo $uu

33

Linux 第二章 shell编程之运算符_第1张图片

Linux 第二章 shell编程之运算符_第2张图片 

3.      变量测试(语法简单,执行效率高,逻辑结构不易记,使脚本代码精简)

Linux 第二章 shell编程之运算符_第3张图片

[root@localhost sh]# unset y

#删除变量y

[root@localhost sh]# x=${y-2}

#进行测试

[root@localhost sh]# echo $x

2

#因为变量y不存在,所以x=new

 

[root@localhost sh]# x=${y-2}

[root@localhost sh]# echo $x

 

[root@localhost sh]# y=1

[root@localhost sh]# x=${y-2}

[root@localhost sh]# echo $x

1

 

 

你可能感兴趣的:(Linux,shell编程,Linux,shell,编程)