代码才是最叼的
全部博文(86)
分类: LINUX
2015-07-28 17:07:32
一:条件测试
1.
test 条件表达式 或 [ 条件表达式 ]
2.文件测试:
-d:测试是否为目录
-f:测试是否为文件
-e:测试目录或文件是否存在
-r:测试当前用户是否有读取权
-w:测试当前用户是否有写入权限
-x:测试当前用户是否有执行权限
例:测试/etc/hosts文件是否存在.如图
-eq:相等
-ne:不相同
-le:小于等于
-ge:大于等于
-gt:大于
-lt:小于
例:如图
=:第一个字符串和第二个字符串相等
!=:第一个字符串和第二个字符串不相等
-z:检查字符串是否为空
例:如图
&&:逻辑与,表示前后2个条件都成立时,测试命令返回值为0(结果成立)
||:逻辑或的意思,表示前后2个条件有其中一个满足条件时,测试命令返回值为0(结果成立)
!:逻辑否,当条件不成立时,测试命令返回值为0(结果成立)
例如图:
1.单分支if语句:只在"条件成立"才执行相应的代码操作,否则不做任何操作.
语法:
if 条件测试操作
then
fi
例如:编写个脚本,测试系统中是否有/media/cdrom这个目录,如果没有则创建.
脚本如下:
#!/bin/bash
mulu="/media/cdrom"
if [ ! -d $mulu ] ; then
fi
2.多分支if语句:针对单分支条件不成立时,执行另一个操作.
语法
if 条件测试操作
then
else
fi
例:编写一个连通性测试小脚本.根据ping结果显示不同的提示,成功显示chenggong 失败显示shibai.如下:
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &>
/dev/null
if [ $? -eq 0
]
then
else
fi
3.多分支if语句:对多个互斥的条件执行不同的操作.
语法:
if 条件测试操作1
then
elif
then
else
fi
例:编写1个成绩小脚本,90-100显示优秀,70-80显示一般,其他不及格.如
#!/bin/bash
read -p "请输入你的成绩" chengji
if [ $chengji -ge 90 ] && [ $chengji -le 100 ]
then
elif [ $chengji -ge 70 ] && [ $chengji -lt 90 ]
then
else
fi