您的位置:首页 > 运维架构 > Shell

bash脚本编程之条件判断及测试

2014-05-23 10:45 627 查看
一、if、case、for语句用法
1.for语句用法
for 变量 in 列表;do
语句1
语句2

done
注:if语句必须有退出条件
2.单分支if语句:
if 条件;then
语句1
语句2
fi
3.双分支if语句:
if 条件;then
语句1
语句2


else
语句1
语句2

fi
4.bash条件判断之多分支if语句:
语法格式:
if 条件1;then
语句1
语句2


elif 条件2;then
语句1
语句2

elif
条件3;then
语句1
语句2

else

语句1
语句2

fi
二、bash 变量类型
1.本地变量:只对当前shell进程有效,对其子shell及其他shell都无效
2.局部变量:local VAR_NAME=Value 只对代码段有效,不包含当前shell所有位置
3.环境变量:export VAR_NAME=Value,对当前shell及其子shell有效
4.位置变量:$1..4:对应参数位置引用
5.特殊变量:
$?:用于保存刚刚执行命令的执行状态返回值
$@,$*:所有位置参数;
$#:位置参数的个数;
shift:实现位置参数轮替
三、bash变量相关命令
1.查看环境变量:printenv、export、
2.查看变量:set
3.声明变量:declare
4.变量引用:${VAR_NAME},大多数时候{}可以省略
四、bash脚本之条件测试
1.整数测试
大于:-gt
小于:-lt
等于:-eq
大等:-ge(大于等于,下同)
小等:-le
不等:-ne
2.字符测试
大于:>
小于:<
等于:==
=~:判断左边字符是否与右边模式匹配 [[ "Shell" =~ ell$ ]]
-z $STRING:为空则为真,不空则为假
-n $STRING:为空则为假,不空则为真
3.组合条件测试
-a:与
-o:或
!:非
4.命令组合测试
&&:与;想要运行第二个条件,第一个条件必须为真
||:或;想要运行第二个条件,第一个条件必须为假
!:非
五、bash测试之文件测试
-f:测试其是否为普通文件,
-d:测试其是否为目录文件
-e:测试文件是否存在;存在为真,不存在为假
-r:测试文件对当前用户是否可读
-w:测试文件对当前用户是否可写
-x:测试文件对当前用户是否可执行
-s:测试文件大小是否不空,不空这真,空则假
-l:测试文件是否为符号链接文件
例:如果/tmp/test10不存在,就创建之;
if [ !-e /tmp/test10 ];then
mkdir /tmp/test10

fi
六、练习
1:写一个脚本,实现如下功能:如果用户存在,就说明其存在
#!/bin/bash
#
UserName=user1
if
id $UserName &> /dev/null;then
echo "$UserName exists."

fi
2:写一个脚本,实现如下功能:如果设备/dev/sda3已经挂载,就显示其挂载点
#!/bin/bash
#
Device=/dev/sda1
if
grep "$Device" /etc/mtab &> /dev/null;then
grep
"$Device" /etc/mtab | cut -d' ' -f2
fi

本文出自 “滴不尽相思血泪抛红豆” 博客,请务必保留此出处http://beijgh.blog.51cto.com/8272564/1415996
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: