linux中shell编程(一)

条件判断,控制结构:

单分支if语句

if 判断条件; then  

    statement1  

    statement2  

    ...

fi

双分支的if语句:

if 判断条件; then  

    statement1  

    statement2  

    ...

else  

    statement3  

    statement4  

    ...

fi

多分支的if语句:

if 判断条件1; then  

    statement1  

    ...

elif 判断条件2; then

    statement2  

    ...

elif 判断条件3; then  

    statement3  

    ...

else  

    statement4  

    ...

fi

 

测试方法:

  • [ expression ]
  • [[ expression ]]
  • test expression

bash中常用的条件测试有三种:

整数测试:

  •  -eq: 测试两个整数是否相等;比如 $A -eq $B
  •  -ne: 测试两个整数是否不等;不等,为真;相等,为假;
  •  -gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
  •  -lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;
  •  -ge: 大于或等于
  •  -le:小于或等于

例子:
INT1=63
INT2=77
[ $INT1 -eq $INI2 ]
[[ $INT1 -eq $INT2 ]]
test $INT1 -eq $INT2 

 文件测试: 

  • -e FILE:测试文件是否存在
  • -f FILE: 测试文件是否为普通文件
  • -d FILE: 测试指定路径是否为目录
  • -r FILE: 测试当前用户对指定文件是否有读取权限;
  • -w
  • -x 

  例子:[ -e /etc/inittab ] [ -x /etc/rc.d/rc.sysinit ] 

 

shell中如何进行算术运算:
A=3
B=6
1、let 算术运算表达式
 let C=$A+$B
2、$[算术运算表达式]
 C=$[$A+$B]
3、$((算术运算表达式))
 C=$(($A+$B))
4、expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用
 C=`expr $A + $B`

 字符测试:
==:测试是否相等,相等为真,不等为假
!=: 测试是否不等,不等为真,等为假
>
<
-n string: 测试指定字符串是否为空,空则真,不空则假
-z string: 测试指定字符串是否不空,不空为真,空则为假

定义脚本退出状态码

exit: 退出脚本 exit # 如果脚本没有明确定义退出状态码,那么,最后执行的一条命令的退出码即为脚本的退出状态码;

测试脚本是否有语法错误: bash -n 脚本

bash -x 脚本:单步执行 

bash变量的类型:  

本地变量(局部变量)  

环境变量  

位置变量:   $1, $2, ...   shift  

特殊变量:   

  • $?   
  • $#:参数的个数   
  • $*: 参数列表   
  • $@:参数列表

posted on 2016-12-20 19:12  杜小°  阅读(180)  评论(0编辑  收藏  举报

导航