shell条件测试可以通过以下两种方式:

test   参数    测试内容

[ 参数  测试内容 ]

一、测试文件类型:

test  -e   文件名          (测试文件是否存在)

[ -e  文件名 ]                测试文件是否存在,注意中括号两边的空格

test -f   文件名             判断是否为普通文件

test -d   文件名            判断是否为目录

test -b   文件名            判断是否为块设备文件

test -c   文件名            判断是否为字符设备文件

二、测试文件权限:

test -r  文件名        判断文件是否又读权限

test -w  文件名       判断文件是否又写权限

test -x  文件名        判断文件是否有执行权限

test -s  文件名        判断文件是否为非空白,有内容为真

三、两个文件比较:

[ file1 -nt file2 ]     file1是否比file2更新

[ file1 -ot file2 ]     file1是否比file2旧

[ file1 -et file2 ]     fie1与file2是否是链接文件

四、两个数组之间判断:

[ n1 eq n2 ]       n1和n2是否相等

[ n1 ne n2 ]       n1和n2是否不等

[ n1 gt n2 ]       n1是否大于n2

[ n1 lt n2 ]        n1是否小于n2

[ n1 ge n2 ]       n1大于等于n2

[ n1 le n2 ]        n1小于等于n2

五、字符串判断:

[ -z  字符串 ]     判断字符串是否为空

[ 字符串1 == 字符串2]   判断字符串1是否等于字符串2

[ 字符串1 != 字符串2]   判断字符串1是否不等于字符串2

六、一个简单案例:

#!/bin/bash
read -p "please input a dir:" dir
if [ ! -e $dir ]
then
echo "filename is not exist"
exit
fi
if [ ! -d $dir ]
then
echo "please input a dir"
exit
fi
if [ -e $dir ]
then
for i in $(ls $dir)
do
echo $i
done
fi

shell条件测试test的更多相关文章

  1. shell条件测试语句实例-测试apache是否开启

    终于理解了shell条件测试语句"!="和"-n"的用法区别,于是有了如下的shell脚本,做为练习. 第一种方法:测试apache是否开启?字符串测试 #!/ ...

  2. 【第四章】Shell 条件测试表达式

    shell中条件测试的三种格式: 格式1: test 条件表达式格式2: [ 条件表达式 ]格式3: [[ 条件表达式 ]] 使用test: [root@host- ~]# test -f file ...

  3. 四 Shell条件测试

    条件测试操作 在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作,有时也会通过与if等条件语句相结合,让我们可以方便的完成判断. 语法格式 test 选项 文件名或目录名 ...

  4. bash Shell条件测试

    3种测试命令: test EXPRESSION [ EXPRESSION ] [[ EXPRESSION ]]  注意:EXPRESSION前后必须有空白字符 bash的测试类型 数值测试: -eq: ...

  5. shell条件测试和流程控制

    一.条件测试操作 1.test 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值 格式:test 表达式 2.常见的测试类型 ①测试文件状态 格式:[ 操作符 文件 ...

  6. shell条件测试结构

    条件测试结构 if/then结构用来判断命令列表的退出状态码是否为0(因为在UNIX惯例, 0表示"成功"), 如果成功的话, 那么就执行接下来的一个或多个命令. 有一个专有命令[ ...

  7. shell条件测试

    文件状态测试-b filename : 当filename 存在并且是块文件时返回真(返回0)-c filename : 当filename 存在并且是字符文件时返回真-d pathname : 当p ...

  8. 《shell条件测试语句,字符串测试apache是否开启》

    还得我想了10分钟才明白”!=“和"-n"的用法区别,做个笔记捋一捋 第一种方法:测试apache是否开启?字符串测试 #!/bin/bash web=`/usr/bin/pgre ...

  9. Linux Shell 条件测试

    1. 文件测试 -d 目录 -s 文件非空 -f 是正规文件 -w 有写权限 -r 有读权限 -x 有执行权限 -L 符号连接 -u 文件有suid位设置

随机推荐

  1. 给DOM生成的元素添加事件

    问题:通过js给页面添加新元素,并给该元素添加绑定事件,但新添加的元素上却没有绑定任何事件. 常见例子:在处理表格的时候,每行行末有个删除按钮,如下图.点击删除按钮的时候删除这一行. //html部分 ...

  2. Linux内核:kthread_create(线程)、SLEEP_MILLI_SEC

    转自:http://blog.csdn.net/guowenyan001/article/details/39230181 一.代码 #include <linux/module.h> # ...

  3. windows 查看软件是32位还是64位

    我有一个配置挺好的电脑,win10 64位的系统,但是最近下载的一个软件用着巨慢,导致我严重想知道下载的软件是64位的还是32位的 百度谷歌了很久,大多数都说是两个方法: 1. 判断文件的安装路径,如 ...

  4. Java 之 软件的生命周期

    1.寻找商机: a.项目:有明确的需求提供方 b.产品:没有需求提供方,由市场决定 2.可行性分析: a.国家法律法规 b.资金 c.人员技术组成 3.投标 4.需求的搜集与分析: a.参与人员:需求 ...

  5. vim 基本使用

    vim 下基本命令 重新加载 .vimrc source ~/.vimrc 列出当前缓冲区的所有文档 ls 然后使用 b+编号 移至该文档 选中多行 v + shift 然后 j k 上下移动 缩进单 ...

  6. 在Axure中使用iconfonts

    转载:http://gabriel-t.lofter.com/post/2ee8fc_12c3b4b https://icomoon.io/app/#/select

  7. POJ 1066 Treasure Hunt (线段相交)

    题意:给你一个100*100的正方形,再给你n条线(墙),保证线段一定在正方形内且端点在正方形边界(外墙),最后给你一个正方形内的点(保证不再墙上) 告诉你墙之间(包括外墙)围成了一些小房间,在小房间 ...

  8. 控制台游戏引擎CGE——贪吃蛇

    今天我也来发一个控制台游戏.先看图: 缘起 LZ是一个有严重拖延症的人,表现的形式就是隔一段时间就要刷一刷博客园. 这不前几天,看到了魏大师<使用Lua脚本语言开发出高扩展性的系统...> ...

  9. 车销宝无线开单PDA 一款互联网+POS神器 无缝与电脑数据同步 无线POS开单解决方案

    1.无线POS开单解决方案是基于后台系统开发的一套系统,它实现了采购入库退货.销售出库退货.盘点调拨等功能. 2.系统通过(WIFI.GPRS.GSM.蓝牙)实时后台库存.客户.商品.价格跟踪等信息, ...

  10. [转]Windows7文件夹转移清理臃肿的C盘

    当你使用Windows的时候,你会发现无论哪个版本的Windows,系统都会默认将用户文件夹和程序数据文件夹(xp下是Documents and Settings文件夹,而windows7和vista ...