if语句在任何编程中都是必不可少、至关重要的分支语句,shell也是如此,只不过各种编程中的方式和格式有点不太一样

shell编程中的if语句基本格式如下:

if [ X$1 = XA ];then
command;
elif [ X$1 = XB ];then
command;
else
command;
fi

注意:[ ]前后都有空格和if以及变量分开

也可以写成如下形式:

if test X$1 = XA;then
    command
elif test X$1 = XB;then
    command
else
    command
fi

下面是一些常用的比较符号

数值比较相关参数:
-eq 等于,如:if [ "$a" -eq "$b" ] 
-ne 不等于,如:if [ "$a" -ne "$b" ] 
-gt 大于,如:if [ "$a" -gt "$b" ] 
-ge 大于等于,如:if [ "$a" -ge "$b" ] 
-lt 小于,如:if [ "$a" -lt "$b" ] 
-le 小于等于,如:if [ "$a" -le "$b" ] 
大于(需要双括号),如:(("$a" > "$b")) 
>= 大于等于(需要双括号),如:(("$a" >= "$b"))

字符比较相关参数:
= 等于,如:if [ "$a" = "$b" ] 
== 等于,如:if [ "$a" == "$b" ],与=等价

文件比较:
f1-nt f2      f1比f2修改时间新则返回真
f1-ot f2      f1比f2修改时间旧则返回真

[[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true 
2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true 
3 [ $a == z* ] # File globbing 和word splitting将会发生 
4 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true

普通判断
-a   and
-o   or
!       非

命令间使用如下and和or
&&  and
‖    or

文件类
string   字符串非空
-z string    为空则真
-n string    非空则真
-e FILE       文件存在为真
-f file         文件为普通文件为真
-d file        为目录时为真
-r file    文件是否有读权限
-w file 文件是否有写权限
-x file   文件是否有执行权限
-s file       如果file存在且大小不为0则为真
-O file      如果file存在且属于有效uid则为真
-g  file文件是否具有sgid
-G file   如果file存在且属于有效gid则为真
-u  file文件是否有suid
-k  file是否有粘滞位

最新文章

  1. Jfinal连接SQLSERVER相关配置说明
  2. Android资源命名规范
  3. PAT乙级 1019. 数字黑洞 (20)
  4. XML的解析方式(DOM、SAX、StAX)
  5. 关于FragmentManager findFragmentById 返回nul
  6. Linux下禁用、启用SeLinux
  7. JAVA安卓和C# 3DES加密解密的兼容性问题(2013年8月修改版)
  8. SQL2008-显示表大小行数
  9. Cmake中的find_package功能
  10. EditText 软键盘
  11. HDU1027 Ignatius and the Princess II 【next_permutation】【DFS】
  12. 配置php开发环境
  13. linux(ubuntu或Deepin等)+win7双系统升级win10出现grub解决办法
  14. 第三期分享:一款很好用的api文档生成器
  15. (6)Python集合
  16. 在Windows下食用Linux工作环境(WSL+cmder)
  17. Bootstrap3基础 glyphicon 设置图标的颜色与大小
  18. linux配置虚拟域名
  19. linux shell 脚本攻略学习17--正则表达式入门
  20. Spring MVC异常处理SimpleMappingExceptionResolver

热门文章

  1. 20175314 《Java程序设计》第一周学习总结
  2. 转:JMeter监控内存及CPU ——plugin插件监控被测系统资源方法
  3. js 加减乘除失精
  4. ES6 Number
  5. xpath&css选择器
  6. MyAdvice 填充方法(在原有方法上添加方法)
  7. 在cmd下可以import cv2,而Pycharm报错:找不到cv2
  8. python class中__init__函数、self
  9. cropper,图片剪辑上传工具的使用
  10. 上传input中file文件到云端,并返回链接