当前位置:  技术问答>linux和unix

一个SHELL条件控制的问题

    来源: 互联网  发布时间:2017-02-06

    本文导语:  if test ! -s "$1" then  echo $1 does not exist or is empty. fi 中的-s有什么用? 还有 if [$# -lt 2 -o ! -e $1] then    exit fi 中的-o和-e 有什么用? | 嘿嘿,我刚学完,总结了一下,给你参考一下...

if test ! -s "$1"
then
 echo $1 does not exist or is empty.
fi
中的-s有什么用?
还有
if [$# -lt 2 -o ! -e $1]
then
   exit
fi
中的-o和-e 有什么用?

|
嘿嘿,我刚学完,总结了一下,给你参考一下哈
 
1.测试文件状态
Test一般有两种格式:
test  condition 或 [  condition  ] (使用方括号时,要注意在条件两边加上空格)。
文件状态测试:
    - e 文件存在(同- a)
- d 目录- s 文件长度大于0、非空
- f 正规文件- w 可写
- L 符号连接- u 文件有s u i d位设置
- r 可读- x 可执行
- s 文件长度大于0、非空
- w 可写
- u 文件有s u i d位设置
- x 可执行
- c 文件为字符特殊文件为真
-b 文件为块设备文件为真
-p  文件是个管道
-t 当文件描述符(默认为1)指定的设备为终端时为真
-h 文件是个符号链接
-S  文件是个socket

f1 - nt  f2        文件1比文件2新
f1 - ot  f2         f1比f2老
f1 - ef  f2          f1和f2都硬连接到同一个文件
注意:测试结果是0表示成功,其他为失败。(echo $ ?查看成功与否)
2.测试时使用逻辑操作符
-a 逻辑与,操作符两边均为真,结果为真,否则为假。
-o 逻辑或,操作符两边一边为真,结果为真,否则为假。
! 逻辑否,条件为假,结果为真。
3. 字符串测试
= 两个字符串相等。
!= 两个字符串不等。
-z 空串。
-n 非空串。
4. 测试数值
测试数值可以使用许多操作符,一般格式如下:
"number" numeric operator "number"
或者
["number" numeric operator "number"]
numeric operator可为:
-eq 数值相等。
-ne 数值不相等。
-gt 第一个数大于第二个数。
-lt 第一个数小于第二个数。
-le 第一个数小于等于第二个数。
-ge 第一个数大于等于第二个数。

    
 
 

您可能感兴趣的文章:

  • linux环境下oracle条件导出数据的shell脚本怎么写
  • linux->shell-> if 条件判断,关于软连接的判断!
  • Shell条件判断疑问?
  • 关于在shell中使用循环和条件判断的问题( 内详)
  • 删除文件的shell脚本编写,条件内详
  • 请问shell脚本中 条件判断中所用的 -e -f 有什么不同?
  • shell编程 if语句的条件总是被判断为真
  • 一个条件null问题(C shell)高分
  • 菜鸟请教下shell编程中if条件中比较的一个问题
  • shell 条件判断与和或的问题
  • shell if then fi 测试条件 关于通配符
  • WEB前端 iis7站长之家
  • shell脚本条件判断的问题
  • 在shell中使用数组需要什么特殊的条件马? 怎么在有的linux下能够用,在有的linux下就不能能使用?
  • 如何用shell实现依文件1某个域到文件2查找满足条件记录并统计记录数后修改文件1
  • shell脚本中case条件控制语句的一个bug分析
  • Linux shell脚本编程if语句的使用方法(条件判断)
  • 控制shell脚本输出的字节数
  • 请问:在shell中如何打开一个新控制台?
  • shell程序 控制时间循环 !!!!
  • linux shell 脚本控制
  • shell脚本怎样控制文件的大小,路过的大神们进来看看,感谢!
  • 如何用C程序,或shell命令向控制台输入?谢谢。
  • shell脚本函数:控制颜色、定位、居中显示的代码
  • linux shell命令执行顺序的控制方法
  • shell写的告警次数控制及恢复示例代码
  • Shell多线程操作及线程数控制实例
  • linux shell流程控制语句实例讲解(if、for、while、case语句实例)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • shell变量和子shell的问题请教
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分
  • 在shell中的交互问题,现在需要在shell结束时按某键或任意键
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • vim问题,怎么不启动shell窗口,而只是把shell结果放到vim自身的command 栏里去?
  • 刚学Shell编程,问个关于Shell中if语句的问题
  • shell:sql问题,如何shell循环将不同表数据写入文件中...
  • 求助关于Java调用shell再传值给shell的问题
  • 一个奇怪的shell问题
  • 有关裁减内核及shell命令的问题
  • HP机上shell运行问题!写了个环境设定的shell,怎么也运行不了,大家来看看!
  • 子shell路径问题
  • 初学者问题,Unix Shell
  • 求助!!shell调用问题
  • 内核执行shell命令问题
  • 关于shell的问题~~~
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 请问“当前shell”和“子shell”的区别?
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3