Chinaunix首页 | 论坛 | 博客
  • 博客访问: 804826
  • 博文数量: 274
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 862
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-24 15:31
个人简介

不合格的程序猿

文章分类

全部博文(274)

文章存档

2019年(3)

2018年(1)

2017年(4)

2016年(160)

2015年(106)

我的朋友

分类: 系统运维

2016-03-11 14:26:06

转自:http://blog.csdn.net/wangtaoking1/article/details/9327353
shell script中的常用判断语句有两种,分为是使用test和"[ ]"。

示例:

判断文件filename是否存在:

1. test -e filename; echo $?

2. [ -e filename ]; echo $?

“$?”该变量记录前一条命令的返回值,正常返回则为0。


常用的标志如下:

测试标志        代表意义
-e            文件名是否存在
-f            文件名是否存在且为文件
-d            文件名是否存在且为目录

-r            文件名是否存在且具有可读权限
-w            文件名是否存在且具有可写权限
-x            文件名是否存在且具有可执行权限
-s            文件名是否存在且为非空白文件

-nt            是否更新
-ot            是否更旧
-ef            是否为同一文件(例如快捷方式)

-eq            两数值相等
-gt             大于
-lt              小于
-ge            大于或等于
-le             小于或等于

-z            判断字符串是否为空
符合语句:
-a            and
-o            or
!               非


符合语句表示如下:

test -e filename1 -a -e filename2

[ -e filename1 -a -e filename2 ]

[ -e filename1 ] && [ -e filename2 ]

阅读(802) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~