测试命令


tesst
[]内置命令
[[]]bash中的关键字

单中括号


格式[#express1#op#express2#]
注意:
  其中#代表括号不能省略
  不能匹配模式
  变量引用应用双引号括起,尤其当变量引用有空格时
  与或非形式-a –o -not
  常量应用单/双引号括起
  整数比较时,< == ...需用反斜号转义,相当于-lt -eq ...

[root@ZYB ~]# zyb="haha haha"
[root@ZYB ~]# echo $zyb
haha haha
[root@ZYB ~]# [ $zyb == "haha haha" ]
-bash: [: too many arguments
[root@ZYB ~]# echo $?
2
[root@ZYB ~]# [ "$zyb" == "haha haha" ]
[root@ZYB ~]# echo $?
0
[root@ZYB ~]# [ "$zyb" != "haha haha" ]
[root@ZYB ~]# echo $?
1
[root@ZYB ~]# [ "$zyb" != "hahahaha" ]
[root@ZYB ~]# echo $?
0
[root@ZYB ~]# [ "$zyb" == "hahahaha" ] ; echo $?
1
\#使用管道输出测试结果有问题`
[root@ZYB ~]# [ "$zyb" == "hahahaha" ] | echo $?
0

双中括号


格式[[#pattern1#op#pattern2#]]
注意:
  其中#代表括号不能省略
  可用于模式匹配,支持正则表达式
  变量引用最好用双引号括起,匹配的模式中的单双引号都代表符号自身
  与或非形式&& || !
  整数比较时,< == ...需用反斜号转义,相当于-lt -eq ...

[root@ZYB ~]# zyb="\"haha haha\""
[root@ZYB ~]# echo $zyb
"haha haha"
[root@ZYB ~]# [[ $zyb == ?haha?haha? ]] ; echo $?
0
[root@ZYB ~]# [[ "$zyb" == ?haha?haha? ]] ; echo $?
0
[root@ZYB ~]# [[ "$zyb" == "haha?haha" ]] ; echo $?
1

算术表达


let var_name=算术表达式
let var_name+=valuelet不能省略
let var_name++let不能省略
var_name=$[算术表达式]算术表达式空格较随意
var_name=$((算术表达式))算术表达式空格较随意
var_name=${var_name:-value}var_name非空保留原值;var_name空赋值value

[root@ZYB ~]# num=1+2; echo $num
1+2
[root@ZYB ~]# let num=1+2 ; echo $num
3
[root@ZYB ~]# var_name=1; echo $var_name
1
[root@ZYB ~]# let var_name+=2; echo $var_name
3
[root@ZYB ~]# var_name+=2 ; echo $var_name
32

测试条件


布尔运算:与&&||!
组合条件测试:与-a-o-not
二元整数测试:num1 op num2
  -eq等于  -ne不等于
  -le小于等于  -ge大于等于  -lt小于  -gt大于
双目字符测试:str1 op str2
  ==等于  !=<>不等于  >大于  <小于
  =~左侧是字符串,右侧是一个模式,判断左侧的字符串能否被右侧的模式所匹配,通常只在[[]]中使用,模式中可以使用行首、行尾锚定符,但是模式不要加引号
单目字符测试:
  -n str不空为真,空为假
  -z str空为真,不空为假
单目文件测试op /path/to/somefile
  -e文件是否存在  -a同前  -f普通文件  -d目录
  -b存在且块设备  -c存在且字符设备  -h/-L存在且符号链接
  -p存在且管道  -S存在且套接字  -s存在且不为空
  -r存在且有读权限  -w存在且有写权限  -x存在且执行权限
双目文件测试file1 op file2
  -ntfile1比file2新
  -otfile1比file2老
  -effile1与file2是否指向同一个文件,包括软硬链接

转载于:https://www.cnblogs.com/hesper/p/8901774.html

单/双中括号与测试条件相关推荐

  1. 【一通百通】Bash的单双括号建议:多用[[]], 少用[]

    一. bash [  ] 单双括号 基本要素: Ø  [ ] 两个符号左右都要有空格分隔 Ø  内部操作符与操作变量之间要有空格:如  [  "a"  =  "b&quo ...

  2. ik分词和jieba分词哪个好_Pubseg:一种单双字串的BiLSTM中文分词工具

    中文分词是中文自然语言处理中的重要的步骤,有一个更高精度的中文分词模型会显著提升文档分类.情感预测.社交媒体处理等任务的效果[1]. Pubseg是基于BiLSTM中文分词工具,基于ICWS2005P ...

  3. linux 小括号 中括号 双小括号 双中括号

    https://www.cnblogs.com/yasmi/articles/5129571.html 一.小括号,园括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执 ...

  4. bash 括号(小括号,双小括号,中括号,双中括号,大括号)

    小括号()和大括号{} 主要包括一下几种 ${var} $(cmd) ()和{} $((exp)) ${var:-string},${var:+string},${var:=string},${var ...

  5. python笔记22-literal_eval函数处理返回json中的单双引号

    前言 在做接口测试的时候,最常见的接口返回数据就是json类型,json类型数据实际上就是字串,通常标准的json格式是可以转化成python里面的对应的数据类型的 有时候开发返回的数据比较坑,不按常 ...

  6. LaTeX设置单双栏方法 基于LaTex+VSCode+MAC

    全局设置 在文档的导言区使用单双栏选项设置全局文章 单栏设置方法: \documentclass[onecolumn]{article} 双栏设置方法: \documentclass[twocolum ...

  7. R统计笔记(四):中括号与双中括号的差异

    R统计笔记(四):中括号与双中括号的差异 2017年06月14日 22:26:05 阅读数:3628 理解的差异首先从语言方面开始,如果你有其他语言的惯性思维,比如JAVA.C或者Javascript ...

  8. i12单双耳切换_多种形态,切换惬意,雷柏i100蓝牙TWS耳机,支持单耳/双耳使用...

    忙碌的一周还会开始,开不完的会,做不完的工作,脑负荷超标,只想一头钻入音乐的海洋. 在盛夏的欢愉中,它有一份独特的吸引力.是一剂舒心良方,能坠入仲夏夜的梦中,温暖.灵动.美妙,全身心的沉浸,给身心慰藉 ...

  9. matlab版本之间的单双引号问题

    matlab版本之间的单双引号问题 问题描述 运行matlab文件的时候出现错误提示 Creating a string using double quotes is not supported. U ...

最新文章

  1. Julia数据统计最全教程,代码图解全都有,昆士兰大学出品,公开免费阅读
  2. 基础知识真的是九阳神功吗?
  3. php div中的字上下居中,Div垂直居中效果怎么实现
  4. JavaScript原始类型转换和进制转换
  5. linux fedora安装simplescreenrecorder
  6. cdh jar包 sqoop2_安装sqoop1.4.6-cdh5.5.2
  7. 一种通用递归深度检测技术 - 基于栈帧内容的检测 - Golang语言描述
  8. SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法此信息转载自BlueSky's Blog,www.heuupk.com,为尊重无价的知识请保留此版权信息。...
  9. 封装案例-02-创建(qiang)类
  10. 数据结构(一)---顺序表的实现---java版
  11. Android 获取手机号及运营商信息
  12. hdu 4405 Aeroplane chess 概率dp
  13. 微型计算机控制技术王艳芳,基于单片机液位控制器的设计与实现最终版(样例3)...
  14. Oracle 备份及恢复
  15. 如何pdf转换word文字并重新排版格式?
  16. 【二】网络空间安全综述
  17. GCC --verbose选项, -lpthread 和-pthread的区别
  18. 宽屏扁平化结婚恋爱整站HTML5模板
  19. linux jboss的安装路径,LINUX下JBOSS的安装及配置
  20. 大师们的投资之道(十三)

热门文章

  1. 网页传世服务器端,传世服务端文件分析
  2. CCIE理论-第九篇-IPV6详细介绍
  3. (ECC)椭圆曲线加密算法原理和C++实现源码
  4. hdfs如何查找指定目录是否文件_hadoop实战教程-HDFS文件系统如何查看文件对应的block...
  5. 星模php格,extend/base/TencentSms.php · 纵之格/ShopXO - Gitee.com
  6. python执行文件函数,python如何运行函数
  7. hp 导出日志 远程管理卡_惠普服务器远程管理卡安装详解
  8. leetcode704. 二分查找
  9. python的命令解析getopt.getopt()函数分析
  10. 机器学习知识总结系列-机器学习中的优化算法总结(1-4)