Shell中各种判断语法
Shell判断
按照文件类型进行判断
-b 判断文件是否存在,并且是否为快设备文件(是块设备文件为真)
-c 判断文件是否存在,并且是否为字符设备文件(是字符设备文件为真)
-d 判断文件是否存在,并且是否为目录文件(是目录为真)
-e 判断文件是否存在,存在为真
-f 判断文件是否存在,并且是否为普通文件(存在为真)
-L 判断文件是否存在,并且是否为符号链接文件(是符号链接文件为真)
-p 判断文件是否存在,并且是否为管道文件(是管道文件为真)
-s 判断文件是否存在,并且是否为空(非空为真)
-S 判断文件是否存在,并且是否为套接字文件(是套接字文件为真)
按照文件权限进行判断
-r 判断文档是否有读权限
-w 判断是否有写权限
-x 判断是否可执行
两个文件之间的比较
文件1 -nt 文件2 判断文件1的修改时间是否比文件2的新(如果新为真)
文件1 -ot 文件2 判断文件1的修改时间是否比文件2的旧(如果旧为真)
文件1 -ef 文件2 判断文件1是否和文件2的inode号一致,可以理解为两个文件是否为同一个文件,这个判断是判断硬链接的最好方法
两个整数之间的比较
-eq 判断两个数值是否相等
-ne 判断两个数值是否不相等
-gt 判断是否大于
-lt 判断是否小于
-ge 判断是否大于等于
-le 判断是否小于等于
字符串之间的判断
-z 判断字符串是否为空
-n 判断字符串是否为非空
字符串1 == 2 判断字符串1是否和字符串2相等
字符串1 != 2 判断字符串1是否和字符串2不相等
多重条件判断
判断1 -a 判断2 逻辑与,判断1和判断2都成立,最终结果为真
判断1 -o 判断2 逻辑或,判断1和判断2有一个成立,结果为真
!判断 逻辑非 使原始的判断式取反
注:本文章仅此对自己以后学习参考
Shell中各种判断语法的更多相关文章
- shell中条件判断语法与判断条件小结
1. IF条件判断语法: if Athen dosthelif B dosthelse dosthfi 2. 判断条件: 2.1 字符串判断 str1 = str2 当两个串有相同 ...
- shell中条件判断if中的-z到-d的意思
shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 ...
- shell 中如何判断前一个命令是否执行成功
shell 中如何判断前一个命令是否执行成功 通过判断返回值来解决: if [ $? -eq 0 ];then 命令正确的分支 else 命令失败的分支 fi
- 在shell中如何判断字符串是否为有效的IP地址【转】
转自 在shell中如何判断字符串是否为有效的IP地址_echoisecho_新浪博客http://blog.sina.com.cn/s/blog_53a844e50100xxus.html 近来需要 ...
- shell中条件判断if中的-z到-d
shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真.[ -c FILE ] 如果 ...
- shell 中的判断
一.if的基本语法: if [ command ];then 符合该条件执行的语句 elif [ command ];then 符合该条件执行的语句 else 符合该条件执行的语句 ...
- Shell中比较判断
一.shell判断数组中是否包含某个元素:ary=(1 2 3)a=2if [[ "${ary[@]}" =~ "$a" ]] ; then echo & ...
- 【转】shell中如何判断一个变量是否为空
判断一个脚本中的变量是否为空,我写了一个这样的shell脚本: #!/bin/sh #filename: test.sh para1= if [ ! -n $para1 ]; then echo &q ...
- shell编程学习笔记(八):Shell中if判断的使用
一.if的语法: 1.单分支语句结构 if [ 条件表达式 ]; then 指令 fi 2.双分支语句结构 if [ 条件表达式 ]; then 指令一 else 指令二 fi 3.多分支语句结构 i ...
随机推荐
- 12.17daily_scrum
悬浮窗的优化设计工作已经展开,各界面的测试也在有条不紊的进行,大家都尽量做到了在发现了软件自身的一些问题和bug后,做到在第一时间及时恢复和修改,工作进度的安排也在预期之中,明日的任务发布如下: 具体 ...
- Oracle Profile 的简单说明
1. 查看已经有的oracle 的profile 首先profile的解释 我理解为 是一个 简略的配置文件, 跟linux的 bash文件的配置信息类似 bash_profile . select ...
- [windows]转帖 windows 版本的含义
1.N是None的意思,由于欧洲反垄断法不让系统捆绑浏览器ie和播放器.LTSB全称为Long Term Support Branch,意思为长期支持分支,是给Windows 10企业用户的一个更新选 ...
- Oracle 12c 之前的版本路线图
- 深入 Java Web
该系列 记录下,深入 学习 Java Web 过程. 1.Tomcat总体结构 2.Tomcat 启动流程 3.ServletContext详解 4.Servlet详解
- poj2991 Crane(线段树)
Description ACM has bought a new crane (crane -- jeřáb) . The crane consists of n segments of variou ...
- Django_博客项目 注册用户引发 ValueError: The given username must be set
博客项目中 注册功能在ajax 提交数据时 报错 ValueError: The given username must be set 锁定到错误点为 判定为是无法获取到 username 字段 那先 ...
- MT【96】一道三角恒等变换题
设$a,b,c$是正数,且$(a+b)(b+c)(c+a)=8$,证明不等式:$\frac{a+b+c}{3}≥[\frac{a^3+b^3+c^3}{3}]^{\frac{1}{27}}$ 评:记住 ...
- Crash dump进程信息
linux下 比较简单,这里不在说明, windows下 相对复杂一点,用SetUnhandledExceptionFilter 来捕获 MiniDumpWriteDump 来写dmp文件,这种方法还 ...
- CentOS安装git及使用Gitolite来管理版本库
首先吐槽一下网上的各种教程,大部分都扯蛋,估计都是些所谓的"编辑"在网上瞎抄来的-- 以下内容都是基于CentOS的服务器端,Mac OS X的客户端. 如果是使用的Windows ...