1、文件表达式

序号 参数 说明
1 -e filename  如果 filename存在,则为真
2 -d filename 如果 filename为目录,则为真
3 -f filename 如果 filename为常规文件,则为真
4 -L filename 如果 filename为符号链接,则为真
5 -r filename 如果 filename可读,则为真
6 -w filename 如果 filename可写,则为真
7 -x filename 如果 filename可执行,则为真
8 -s filename 如果文件长度不为0,则为真
9 -h filename 如果文件是软链接,则为真
10 filename1 -nt filename2 如果 filename1比 filename2新,则为真
11 filename1 -ot filename2 如果 filename1比 filename2旧,则为真

2、整数变量表达式

序号 参数 说明
1 -eq 等于
2 -ne  不等于
3 -gt  大于
4 -ge 大于等于
5 -lt  小于
6 -le 小于等于

3、字符串变量表达式

序号 参数 说明
1 $a = $b 如果string1等于string2,则为真
2 $string1 !=  $string2 如果string1不等于string2,则为真
3 -n $string 如果string 非空(非0),返回0(true)
4 -z $string 如果string 为空,则为真
5 $string 如果string 非空,返回0 (和-n类似)
6 ! 表达式 条件表达式的相反[逻辑非]
7 表达式1  –a  表达式2 条件表达式的并列[逻辑与]
8 表达式1  –o 表达式2 条件表达式的或[逻辑或]

样例:

[ -z "$pid" ] 单对中括号变量必须要加双引号

[[ -z $pid ]] 双对括号,变量不用加双引号

4、特殊变量

序号 参数 说明
1 $0 当前脚本的文件名
2 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是1
3 $# 传递给脚本或函数的参数个数
4 $* 传递给脚本或函数的所有参数
5 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同
6 $? 上个命令的退出状态,或函数的返回值
7 $$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID
8 $! Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)

参考:Linux的shell中 if 的-e,-d,-f的说明

Linux shell脚本中if的“-e,-d,-f” 说明相关推荐

  1. linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法

    这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...

  2. Linux Shell脚本中压缩包解压到目标目录下

    在Linux Shell脚本中,把一个压缩文件解压到目标目录下,使用如下代码: tar -xvf server.tar -C /opt/ 上述命令实现了把当前目录下的server.tar的压缩包,解压 ...

  3. Linux Shell - 脚本中自动确认需要输入确认的命令

    文章目录 Linux Shell - 脚本中自动确认需要输入确认的命令 1.yum 命令 2.其它命令 Linux Shell - 脚本中自动确认需要输入确认的命令 1.yum 命令 通过指定 -y ...

  4. linux脚本用户输入,如何在Linux shell脚本中提示用户输入

    本篇文章给大家介绍关于如何在Linux shell脚本中提示用户输入?下面来看具体的内容. 我们首先来看一下命令# read var # read -s "Waiting for input ...

  5. Linux shell脚本中的命令正确写法

    shell脚本中的命令需加反引号``

  6. Linux shell脚本中分号的作用

    日常工作中有时候会需要用到shell脚本来简化重复性工作. 然后每次都迷惑在什么地方改用分号,什么地方不用.好吧今天,来个了断吧. 首先我的需求是,判断有没有指定目录,如果没有则git clone 一 ...

  7. linux shell alias,Linux shell脚本中使用alias定义的别名

    核心知识点 shopt 开启和关闭 alias 扩展 交付模式默认是开启的,脚本的默认是关闭的 alais 扩展的名称是 expand_aliases alias 定义 在当前session中,可以直 ...

  8. linux shell脚本中调用另一个shell脚本

    先来说一下主要以下有几种方式: 1.fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. 2.exec: exec path/to/foo. ...

  9. Linux shell脚本中如何读取跟shell脚本同一目录下的配置文件

    2019独角兽企业重金招聘Python工程师标准>>> 配置文件如下 ##########BACKUP MYSQL CONFIG####### #database name db_n ...

最新文章

  1. 同步方法和同步代码块
  2. Codeforces 911F Tree Destruction
  3. 面向对象回顾(静态变量、类加载机制/双亲委派模型、Object类的方法、类和对象区别)
  4. 2019数据安装勾选_万能的XY数据标签插件,柱形图也可以呈现变化率
  5. 【2019牛客暑期多校训练营(第一场) - H】XOR(线性基,期望的线性性)
  6. Judy alpha 第七天
  7. 如果能够让出资人了解更多的c++项目进程
  8. java windows linux 乱码_Linux 中 Windows 中文乱码
  9. LeetCode(657)——机器人能否返回原点(JavaScript)
  10. seay代码审计mysql插件报错_Seay源代码审计系统v2.0源码
  11. Internet Download Manager 6.32.6 V2 下载工具
  12. linux路由器压力测试,Apache Bench Web 压力测试
  13. 入侵无盘系统服务器,比有盘还快!梅捷带你体验锐起无盘系统
  14. java自行车销售系统_基于 javaee 自行车租赁系统,源码分享
  15. ActiveMQ使用教程
  16. e算量总是不自动计算机,E算量疑难杂症解决方法.doc
  17. 视频教程-【国内首套H3C V7交换机实战课程-2】以太网端口和链路聚合配置与管理-H3C认证
  18. android 实现qq动画,Android实现仿QQ登录界面背景动画效果
  19. 浅谈领域驱动设计(DDD:Domain-Driven Design)
  20. 清越光电科创板IPO过会:年营收6.9亿 高新创投是股东

热门文章

  1. Ajax 查询手机号码归属地
  2. findChessboardCorners函数学习笔记
  3. 快速测试网速软件,‎App Store 上的“测网速大师 - 一键测网速”
  4. Golang 高质量单测之 Table-Driven:从入门到真香
  5. 企业家社会责任与饲料行业发展浅析
  6. android系统 中使应用默认获取通知使用权
  7. 深思:一个农村大学生眼中的农村经济(天涯)
  8. python函数递归年龄,python之函数递归
  9. 智慧灯杆网关与智慧路灯
  10. 在N个数中查找第K大的数字(Top K问题)