1. 文件判断表达式

  • -e filename:如果 filename 存在(exist),则为真;
  • -d filename:如果 filename 为目录(directory),则为真;
  • -f filename:如果 filename 为常规文件,则为真;
  • -L filename:如果 filename 为符号链接,则为真;
  • -r filename:如果 filename 可读,则为真;
    • -w filename:如果 filename 可写,则为真;-x filename:如果 filename 可执行,则为真;
  • -s filename:如果文件长度不为 0,则为真;
  • -h filename:如果文件是软连接,则为真;

  • filename1 -nt filename2:如果 filename1 比 filename2 新(nt,newer than),则为真;
  • filename1 -ot filename2:如果 filename1 比 filename2 旧(ot,older than),则为真;
    • 新旧指的是修改日期;

2. 数值比较

  • -eq:是否等于;-ne:是否不相等;
  • -gt:是否大于;-ge:是否大于等于;-lt:是否小于;-le:是否小于等于;

3. 字符串判断

  • if [$string1=$string2]:如果 string1 等于 string2,则为真;在 shell 中字符串允许使用 =(赋值号)做等号;

    • if [$string1!=$string2]
  • if [-n $string]:如果 string 非空,则为真;
    • 等价于 if [$string]
    • if [-z $string]:如果 string 为空,则为真;

4. 逻辑表达式

  • -a:and,与,if [表达式1 -a 表达式2]
  • -o:or,或,if [表达式1 -o 表达式2]
  • !:not,非,if [!-d $num],如果不存在目录 num

references

学习 shell —— 条件判断 if 的参数的更多相关文章

  1. Shell学习(六)——条件判断总结

    Shell学习(六)--条件判断总结 [1]https://www.cnblogs.com/zhw-626/p/8528001.html [2]https://www.cnblogs.com/yizh ...

  2. Shell学习笔记 - 条件判断式

    1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ]  -- 推荐使用 例: [ -e /root/install.log ] ...

  3. [Shell]条件判断与流程控制:if, case, for, while, until

    ---------------------------------------------------------------------------------------------------- ...

  4. shell 条件判断语句整理

    常用系统变量 1)         $0 当前程式的名称 2)         $n 当前程式的第n个参数,n=1,2,…9 3)         $* 当前程式的任何参数(不包括程式本身) 4)   ...

  5. shell条件判断if中的-a到-z的意思

    [ -a FILE ]  如果 FILE 存在则为真.  [ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真.  [ -c FILE ]  如果 FILE 存在且是一个字特殊文件则 ...

  6. shell条件判断与流程控制

    一 条件判断式语句 1.按文件类型进行判断 测试类型 作用 -b 文件 判断文件是否存在,并且是否为块设备文件(是块设备文件为真) -c 文件 判断文件是否存在,并且是否为字符设备文件(是字符设备设备 ...

  7. LINUX SHELL条件判断

    算术运算的条件判断 [] [[]]: -eq -ne -lt -le -gt -ge (( )):><>=<== [root@monitor ~]# if (( 2 == 3) ...

  8. python学习第六天 条件判断和循环

    总归来讲,学过C语言的同学,对条件判断和循环并不陌生.这次随笔只是普及一下python的条件判断和循环对应的语法而已. 条件判断: 不多说,直接贴代码: age = 23 if age >= 6 ...

  9. Python学习之条件判断和循环

    #coding= utf-8 # 条件判断和循环 # 如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做 age1 = 20 if age1 >= 18: prin ...

随机推荐

  1. C# DataTable常用方法总结

    https://blog.csdn.net/wangzhen209/article/details/51743118

  2. SEO规范(部分)

    1:尽量减少AJAX的使用搜索引擎无法检索ajax中的内容,也无法识别javascript代码. 2:拒绝iframe,frame标签iframe,frame会极大的阻碍搜索引擎爬取网站内容. 3:图 ...

  3. 利用JavaScript做无缝滚动

    <html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...

  4. js手机网络检测

    <!DOCTYPE HTML> <html lang="en"> <head> <meta charset=UTF-8"> ...

  5. Websphere 手动模拟删除应用操作

    Websphere  手动模拟删除应用操作 切记:不要在程序还在运行的时候,直接的remove掉应用程序,不然,会发生意外的错误.       最近,在项目中,不小心手动移除了正在运行的应用,发现se ...

  6. windwo下载完nvm无法执行node

    安装node版本管理工具之NVM.安装方法:见链接. window安装完后,下载node后,无法执行node.见图(图片从网上找的). 最后问题原因是,1.nvm安装时,安装目录中存在空格. 解决办法 ...

  7. PHP 时间处理

    1:获取当前日期格式时间 date("Y-m-d H:i:s");    2:转化为时间戳 strtotime( date("Y-m-d") ) 3:转化为日期 ...

  8. Git 常用命令速查(转载)

    git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git co ...

  9. String、Stringbuffer、StringBuffer回顾

    前言: 久了没用到,一下子就忘了..,参考文章:https://www.cnblogs.com/su-feng/p/6659064.html.https://baijiahao.baidu.com/s ...

  10. bzoj 4372: 烁烁的游戏 动态点分治_树链剖分_线段树

    [Submit][Status][Discuss] Description 背景:烁烁很喜欢爬树,这吓坏了树上的皮皮鼠. 题意: 给定一颗n个节点的树,边权均为1,初始树上没有皮皮鼠. 烁烁他每次会跳 ...