shell编程中有两种形式进行对判断条件进行测试:

形式一:test

形式二:[    ]

举个小例子说明其用法及其注意事项:

例子:判断文件 "new.txt" 是否存在,存在现实“exist', 不存在现实”not  exitst"

test -e new.txt && echo "exist" || echo "not exist"
[ -e new.txt ] && echo "exist" || echo "not exist"

执行结果:

 

实现细节说明:当一次执行很多命令式&&、 ||很有用处,它们是从前往后依次执行。

        对于&&:当前面执行条件正确时,执行&&之后的,错误就停住了

          对于||:当前面的执行条件错误时,执行||之后的,正确就停住了。

因此根据&&、||的特性可以对条件作出一个模式“条件 && 执行1|| 执行2”。当条件为真时执行1;当为假时“条件&&执行1”绝对为假,因此执行2

注意事项:

  • [ -e  new.txt ]中每个字符(包括[、 -e、 new.txt、 ])都有空格。[-e  new.txt]是不正确的。
  • [   ]里面的变量名要用" "引起来,如[ "$filename" -e]
  • [   ]里面的常量要用引号(单或双引起来)

下面把判断条件列举下:

 下面整个案例实战一把:

1.提示用户输入文件名

2.判断文件名是否存在。若不存在,提示“文件不存在”,退出程序;否则继续执行

3.判断文件名是文件还是目录

4.判断文件名的权限(r w x)

#!bin/bash
read -p "Input the filename:" filename
test -z "You must input a filename." && exit 0
#判断是否存在
test ! -e $filename && echo "The file $filename DO NOT exist." && exit 0
#判断文件名类型
test -f $filename && filetype="rugulre file"
test -d $filename && filetype="directory"
#判断文件执行权限
test -r $filename && perm="readable"
test -w $filename && perm="writable"
test -x $filename && perm="execuate"
#输出结论
echo "The file $filename is a $filetype"
echo "And the permission is: $perm"

本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/archive/2013/03/25/2981487.html,如需转载请自行联系原作者

shell编程——判断条件相关推荐

  1. shell编程之条件语句(文件测试,test命令,字符串和逻辑测试,if单支语句,if双支语句,if多支语句,case命令,用if写跑步小实验)

    文章目录 shell编程之条件语句 条件测试 test命令 整数值测试 free -m 提供了更简洁的查看系统内存使用情况: 字符串和逻辑测试 字符串 逻辑测试 一元运算符,二元运算符和三元运算符 i ...

  2. Shell编程之条件语句(if语句,case分支语句)

    Shell编程之条件语句 一.条件测试操作 1.test命令 2.文件测试 3.整数值比较 4.字符串比较 5.逻辑测试 二.if语句 单分支结构 双分支结构 多分支结构 三.case分支语句 一.条 ...

  3. Linux网络服务与shell脚本——Shell编程之条件语句

    第八章 Shell编程之条件语句 一.条件测试 1.测试命令 (1)test 条件表达式 (2)[条件表达式] (3)$?:根据返回值判断前者是否成立 2.文件测试:根据指定路径名称,判断对应文件或目 ...

  4. shell 编程 判断语句参数

    shell 编程中使用到得if语句内判断参数–b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathn ...

  5. shell编程之条件判断语句和流程控制语句

    shell条件判断语句和流程控制语句 文章目录 shell条件判断语句和流程控制语句 一.条件判断语法结构 1. 条件判断语法格式 2. 条件判断相关参数 二.流程控制语句 1. 基本语法结构 2. ...

  6. linux判断搜索结果,shell编程之条件判断和find查询

    使用read 来把输入值分配给一个或多个shell 变量: -p指定要显示的提示 -t TIMEOUT read从标准输入中读取值,给每个单词分配一个变量 所有剩余单词都被分配给最后一个变量 read ...

  7. SHELL编程之条件测试

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.条件测试(1) 1.test测试操作 2.字符串比较 3.整数值比较 4.文本状态测试 二.条件测试(2) 1.控制操作 ...

  8. 你说shell编程的条件语句太难,我说那是你没看过这篇博客。

    文章目录 一.条件测试操作 (一). 条件测试操作 1.test命令 (二).文件测试 1.文件测试基本格式 2.常见的测试操作符 (三).整数测试 1.整数值比较 2.常用的测试操作符 (四).字符 ...

  9. Shell编程之条件语句(if单分支、双分支、多分支、case多分支)

    文章目录 1.条件测试操作 2.if语句的结构 1.单分支结构 2.双分支语句 3.多分支结构 4.case多分支语句 1.条件测试操作 test命令测试表达式是否成立,若成立返回0,否则返回其他数值 ...

  10. linux条件测试的三种,shell编程之条件测试 | 旺旺知识库

    一.条件测试语法: test 测试内容 [ 测试内容 ]      ##注意中括号与测试内容间有空格 [[ 测试内容 ]] (( 测试内容 ))   ##只能用于测试数值大小,后面详解 前三种测试语法 ...

最新文章

  1. python with contextmanager yield 语法糖
  2. 每天一小时python官方文档学习(一)————python的简单介绍
  3. 再次“重新定义” 华为争做数据基础设施领航者
  4. ios 旋转屏幕试图切换_TCL·XESS 旋转智屏 A200Pro 评测:方向一换,体验大不相同...
  5. Add-in and Automation Development In VB.NET 2003 (8)
  6. Java并发——Java与多线程
  7. react组件卸载调用的方法_React调用子组件方法与命令式编程误区
  8. 带你通俗理解https
  9. 元素定位(d4-2)
  10. web前端开发技术实验与实践(第三版)储久良编著 项目14 设计中国教育网络杂志简介
  11. jemalloc 使用
  12. win10 linux efi分区大小,EFI模式 win10+Ubuntu16.04双系统
  13. Java使用Thumbnails实现图片指定大小压缩
  14. WPF——OXY绘图_old
  15. 关于先有鸡还是先有蛋,终于有正确答案了 1
  16. 生物识别技术是什么,生物识别技术的比较介绍
  17. 计算机用户帐户域怎么查找,win7计算机域怎么查?小编教你查看计算机域、工作机组的方法...
  18. 面试系列之-如何选择外包与自研公司
  19. Win系统 - 如何添加新用户,怎么添加管理员帐户?
  20. Android使用AudioRecord实现录音

热门文章

  1. 分享15款很棒的 JavaScript 开发工具
  2. CSS最基础的语法和三种引入方式
  3. java 中 集合类相关问题
  4. 我所理解的Remoting (2) :远程对象的生命周期管理[下篇]
  5. docker容器运行后退出,怎么才能一直运行?【转】
  6. sublime中文件前缀的自动添加
  7. 函数的参数,参数为数组
  8. Linux下安装和卸载jdk步骤详述
  9. RabbitMQ的问题
  10. VS2005 添加lib 的方法