博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DAY11 Shell脚本基础(Enginner05-2)
阅读量:5870 次
发布时间:2019-06-19

本文共 1334 字,大约阅读时间需要 4 分钟。

六、条件测试及选择

6.1 测试表达式

-file状态测试

6.1.1 [ -e file ]

file存在,值为true;file不存在为false

6.1.2 [ -d file ]

file存在并且为目录,值为true;file不存在为false

6.1.3 [ -f file ]

file存在并且为文件,值为true;file不存在为false

6.1.4 [ -r file ]

file有r权限,值为true;file没有r权限,值为false

6.1.5 [ -w file ]

file有w权限,值为true;file没有w权限,值为false

6.1.6 [ -x file ]

file有x权限,值为true;file没有x权限,值为false

-整数大小测试

6.1.7 [ x -gt y ]

x>y

6.1.8 [ x -ge y ]

x≧y

大于等于

6.1.9 [ x -eq y ]

x=y

等于

6.1.10 [ x -ne y ]

x!=y

不等于

6.1.11 [ x -lt y]

x< y

小于

6.1.12 [ x -le y ]

x≦y

小于等于

-字符串测试

6.1.13 [ 'x' == 'y' ]

'x'与'y'相同

字符串测试

6.1.14 [ 'x' != 'y' ]

'x'与'y'不同

字符串测试

6.1.15 [ -n "string"]

判断string是否有值,有值为true,没有值为false

6.1.16 [ -z "string"]

判断string是否为空,为空则为true,不为空则为false

-多重条件判定

6.1.17 -a

and 与

6.1.18 -o

or 或

6.2 if条件测试

6.2.1 if单循环

if 条件测试;then

command xx
fi

6.2.2 if双循环

if 条件测试;then

command xx
else
command yy
fi

6.2.3 if多循环

if 条件测试;then

command xx
elif 条件测试1;then 
command yy
else 
command zz
fi

6.2.4 空值与没有的区别

空值表示值为空

没有表示不存在
"$1" == redhat #给变量加上双引号可以将"没有"变成"空值"
脚本举例:

#!/bin/bash   if [ "$1" == redhat ];then        echo fedora   elif [ "$1" == fedora ];then        echo redhat   else         echo '/root/foo.sh redhat|fedora' >&2 # >&2表示这个echo为错误输出fi

6.3 for循环结构

根据变量值的不同取值,重复执行相同的操作,直到变量里没有值以后退出循环

for 变量名 in 值列表
do
command xx
done

本文转自 goldwinner 51CTO博客,原文链接:http://blog.51cto.com/355665/2068771,如需转载请自行联系原作者

你可能感兴趣的文章
Hive之 hive的三种使用方式(CLI、HWI、Thrift)
查看>>
UWP的一种下拉刷新实现
查看>>
requests 证书验证
查看>>
iOS开发基础:OC数组对象NSArray的常用方法
查看>>
Xcode下的中文乱码问题
查看>>
How can I set ccshared=-fPIC while executing ./configure?
查看>>
python常见面试题(三)
查看>>
串行 RapidIO
查看>>
linux service命令解析(重要)
查看>>
2.移植uboot-添加2440单板,并实现NOR、NAND启动
查看>>
python中字符串(str)的常用处理方法
查看>>
Instruments性能优化-Core Animation
查看>>
/etc/fstab 参数详解及如何设置开机自动挂载
查看>>
C#设计模式之二十职责链模式(Chain of Responsibility Pattern)【行为型】
查看>>
Quartz.Net 学习随手记之03 配置文件
查看>>
Mysql Order By 注入总结
查看>>
奇偶数对调,保持顺序 —— 剑指Offer
查看>>
php面向对象精要(1)
查看>>
sql order by 结合case when then
查看>>
《机器学习实战》程序清单4-2 朴素贝叶斯分类器训练函数
查看>>