shell编程

shell变量的缺点?

弱类型

默认字符串型

 

shell运算符

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

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

选项

-:给变量设定类型属性

+:取消变量的类型属性

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

[[email protected] sh]#movie[0]=zp

[[email protected] sh]# movie[1]=tp

[[email protected] sh]# declare -a movie[2]=live

#定义数组

[[email protected] sh]# echo ${movie}

zp

[[email protected] sh]# echo ${movie[2]}

live

[[email protected] sh]# echo ${movie[*]}

zp tp live

#查看数组

 

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

[[email protected] sh]# aa=11

[[email protected] sh]# bb=22

#给变量aabb赋值

[[email protected]]# cc=$aa+$bb

[[email protected] sh]# declare -i cc=$aa+$bb

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

[[email protected]]# echo $cc

 

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

           declare –x test=123

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

 

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

           [[email protected] sh]#declare -r test

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

 

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

                            [[email protected] sh]# declare-p cc

declare -i cc="33"

                            #查询指定变量的属性

                            declare–p

                            #查询所有变量的属性

        

        

2.      数值运算的方法

expr或let数值运算工具

[[email protected] sh]# aa=11

[[email protected] sh]# bb=22

[[email protected]]# dd=$(expr $aa + $bb)

[[email protected]]# echo $dd

33

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

        

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

[[email protected] sh]# aa=11

[[email protected] sh]# bb=22

[[email protected] sh]# ff=$(($aa+$bb))

[[email protected] sh]# echo $ff

33

[[email protected] sh]# uu=$[$aa+$bb]

[[email protected] sh]# echo $uu

33

Linux 第二章 shell编程之运算符

Linux 第二章 shell编程之运算符 

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

Linux 第二章 shell编程之运算符

[[email protected] sh]# unset y

#删除变量y

[[email protected] sh]# x=${y-2}

#进行测试

[[email protected] sh]# echo $x

2

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

 

[[email protected] sh]# x=${y-2}

[[email protected] sh]# echo $x

 

[[email protected] sh]# y=1

[[email protected] sh]# x=${y-2}

[[email protected] sh]# echo $x

1

 

 

相关文章: