SHELL编程-续

shell脚本能够看作是命令的堆砌,经过结合命令流程控制机制实现。python

解释器 #!/bin/bash或/usr/bin/python 也称为shebangshell

通常脚本须要赋予执行权限,也能够使用bash xxx.sh 来事先声明express


shell的条件判断能够分为bash

1:整数测试ide

2:字符串测试测试

3:文件测试spa


条件测试表达式字符串

[ expression ] #注意方括号与表达式之间有空格string

` expression ` #也有这种格式的测试格式it

test expression


整数比较

-eq:两个整数是否相等 #equal

-ne:两个整数是否不等 #not equal

-gt:前一个数是否大于后一个数 

-lt:前一个数是否小于后一个数

-ge:前一个数是否大于等于后一个数

-lt:前一个数是否小于等于后一个数


文件测试:

-e /path/to/file :测试文件是否存在

例如:[ -e /etc/inittab ] [ ! -e /etc/inittab ]

-d /path/to/file :测试是否为目录

-f /path/to/file :测试是否为普通文件

-r /path/to/file 测试文件对当前用户是否有读权限

-w /path/to/file 测试文件对当前用户是否有写权限

-x /path/to/file 测试文件对当前用户是否有执行权限


字符测试

== :测试字符串string1是否与字符串string2相同

!= :测试字符串string1是否与字符串string2不相同

>

<

-n: 测试字符串是否为空

-z: 测试字符串是否为非空


命令间逻辑

逻辑与:&&

逻辑非:!

逻辑或:||


条件判断,控制结构

if 判断条件;then     #单分支

    statement1

    statement2

    ...

fi


if 判断条件;then

    statement

    ...

else

    statement

    ...

fi


算数运算

算数运算表达式:

1:let 算术运算表达式  例:let c=$A+$B

2:$[算术运算表达式]   例:C=$[$A+$B]

3:$((算数运算表达式))  例:C=$(($A+$B))

4:expr 算数运算表达式 #表达式中各操做数和运算符之间要有空格,并且要使用命令引用

例:C=`expr $A + $B`


在脚本中使用exit 能够退出当前shell

exit # 自定义返回状态值

#若是脚本没有定义状态退出码,最后一条命令的退出码即为脚本退出码


多分支if语句

if 判断条件;then

    statement

    ...

elif 判断条件2;then

    ...

    ...

else

    ...

fi


测试脚本

bash -n xxx.sh #简单检查脚本语法错误。

bash -x xxx.sh #可查看每一个语句的执行结果,来检查错误。

相关文章
相关标签/搜索