shell script-判断式
test判断式
看下面:
test -e /opt/a.txt && echo "exist" || echo "not exist"
判断 /opt/a.txt 存不存在,存在输出 exist ,否则输出 not exist
test还有很多用法:
- 关于某个文件名的”文件类型“判断,如 test -e fileName 表示判断存在与否
- -e 该文件名是否存在
- -f 该文件名是否存在且为文件
- -d 该文件名是否存在且为目录
- 关于文件的权限,如 test -f fileName 表示判断文件是否可读
- -r
- -w
- -x
- 关于两个文件之间的比较 ,如 test file1 -nt file2
- -nt (newer than)判断 file1 是否比 file2 新
- -ot (older than)判断 file1 是否比 file2 旧
- 关于两个整数之间的判断,如 test n1 -eq n2
- -eq 判断相等
- -ne 判断不相等
- -gt n1 大于 n2
- -lt n1 小于 n2
- -ge 大于等于
- -le 小于等于
- 关于字符串比较
- Test -z string 若string是空字符串,返回true
- Test -n string 若string是空字符串,返回false
- test str1=str2
- test str1!=str2
- 多重条件判定
- -a 两个条件同时成立, 如 test -e file1 -a -e file2 ,表示判断 file1 和 file2 是否都存在
- -o 任何一个条件成立就成立,如 test -e file1 -o -e file2,file1 或 file2 任何一个存在都返回 true
- ! 否定,如 test ! -e file1, 表示 file1 不存在返回 true
[ ... ] 判断式
经常用于if 语句的判断
注意: [ ] 中每个组件都需要用空格符来分隔; 变量最好都用双引号括起来; 常量也用双引号括起来
shell script-判断式的更多相关文章
- 第十三章、学习 Shell Scripts 善用判断式
善用判断式 利用 test 命令的测试功能 我要检查 /dmtsai 是否存在时,使用: [root@www ~]# test -e /dmtsai [root@www ~]# test -e /dm ...
- Linux学习十八之、善用判断式
原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_3.php 善用判断式 在第十一章中,我们提到过 $? 这个变量所 ...
- Linux学习-善用判断式
利用 test 指令的测试功能 要检测系统上面某些文件或者是相关的属性时,利用 test 这个指令来工作真是好用得不 得了, 举例来说,我要检查 /dmtsai 是否存在时,使用: [dmtsai@s ...
- 【重点】Shell入门教程:流程控制(3)条件判断式的真假值
之前曾提到,在Bash中什么是真什么是假,是以命令的结束状态是否为0来做判断.传回0,即为真:传回非0,即为假. 在Bash中,这种可以影响程序流程的式子,称为条件判断式.判断式的操作数分成“单元”及 ...
- 第十三章、学习 Shell Scripts 条件判断式
利用 if .... then 单层.简单条件判断式 if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的命令工作内容: fi <==将 if 反过来写,就成为 fi !结束 i ...
- shell编程 条件判断式----利用 case ..... esac 判断
条件判断式----利用 case ..... esac 判断 case $变量名称 in <==关键词为 case ,还有变量前有钱字号 "第一个变量内容") &l ...
- shell编程 条件判断式----利用 if .... then ----多重
条件判断式----利用 if .... then ----多重 在同一个数据的判断中,如果该数据需要进行多种不同的判断时,应该怎么作?举例来说,上面的 sh06.sh 脚本中,我们只要进行一次 $yn ...
- shell script 二 判断符号【】 shift 偏移量 if then fi
判断符号[]类似于test.但是[]有通配符及正则表达式,为了区分,利用[]来做判断时,前后都需要加空格来区分.又一个坑 [ -z "$HOME" ];echo $? 例: 1 r ...
- 【shell】条件判断式
条件判断式的表示格式: 文件判断式: [root@andon ~]# [ -e /root/1 ] && echo yes || echo no #注意[]里面的空格,第一个命令为真打 ...
- shell及脚本4——shell script
一.格式 1.1 开头 必须以 "# !/bin/bash" 开头,告诉系统这是一个bash shell脚本.注意#与!中间有空格. 二.语法 2.1 数值运算 可以用decla ...
随机推荐
- 【leetcode刷题笔记】Jump Game
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- python内置方法补充all
all(iterable) 版本:该函数在python2.5版本首次出现,适用于2.5以上版本,包括python3,兼容python3版本. 说明:如果iterable的所有元素不为0.''.Fals ...
- php使用mysql数据库时中文不显示或显示异常解决方法
如果出现标题所述问题,需从四个层面解决问题 1 项目文件是否为utf8编码 右键项目文件->properties->Resource->Text file encoding-> ...
- 通过elasticsearch对日志进行搜索热词统计
通过logstash搜集日志 这里搜集日志可以使用ELK的一个插件filebeat对日志进行处理,并传输到后端的程序 在这里有一个不好的地方, 如果想要直接使用filebeat将日志发送到elasti ...
- Spring Cloud之Feign客户端调用工具
feign介绍 Feign客户端是一个web声明式http远程调用工具,提供了接口和注解方式进行调用. Spring Cloud 支持 RestTemplate Fetin Feign客户端实际开发 ...
- java访问控制---java编程语言
- cdoj 1256 昊昊爱运动 预处理
昊昊爱运动 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) 昊昊喜欢运动 他NN ...
- python第九篇:Python进程
Python进程 接下来我主要按照下图中思维导图上的关键点对进程和线程进行一个总结 进程知识点总结: 一.Python进程 1.概念 程序和进程: 程序:是可执行文件,是静态的,占据磁盘空间,程序 ...
- 分享知识-快乐自己:揭秘HBase
揭秘HBase: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce 六):揭秘HBa ...
- 为什么jdk1.8不支持sql.append,该如何解决
StringBuilder sql = new StringBuilder("SELECT ID,COMMAND,DESCRIPTION,CONTENT FROM message where ...