shell中[ ]与[[ ]]的区别_运维@小兵的博客-程序员秘密_shell中[]

技术标签: 单中括号与双中括号的区别  Shell  shell  []与[[]]  


区别一

[ ]是符合POSIX标准的测试语句,兼容性更强,几乎可以运行在所有的Shell解释器中

[[ ]]仅可运行在特定的几个Shell解释器中(如Bash等)

区别二:<和>在[[ ]]中用作排序,而[ ]不支持

进行比较前先设置LANG=C,在排序时使用ASCII码顺序

数字的ASCII码应该小于大写字母,使用[[ ]]的结果是正确的
在这里插入图片描述

区别三:[ ]中使用-a和-o表示逻辑与和逻辑或,[[ ]]使用&&和||来表示

[[ ]]不支持-a
在这里插入图片描述

区别四:在[ ]中==是字符匹配,在[[ ]]中是模式匹配

[[ ]]中表示变量name是否以字母d开头
在这里插入图片描述

区别五:[ ]不支持正则匹配,[[ ]]支持用=~进行正则匹配

[[ ]]判断变量name的值是否包含字母c
在这里插入图片描述

区别六:[ ]仅在部分Shell中支持用()进行分组,[[ ]]均支持

[ 1 == 1 -a (2 == 2 -o 3 == 4) ] && echo Y || echo N
[[ 1 == 1 && (2 == 2 || 3 == 4) ]] && echo Y || echo N		#[[]]不支持-a和-o

在这里插入图片描述

区别七:[ ]中如果变量没有定义,那么需用双引号引起来,[[ ]]中不需要

在这里插入图片描述

参考书籍:《Linux Shell核心编程指南》

遇到的坑

1、[[ ! -f hosts ]]条件判断导致脚本退出

[[ ! -f hosts ]] && echo "ERROR:hosts Not Found" && exit 1
echo $?
1

原因

如果hosts文件存在,那么[[ ! -f hosts ]]的状态码则为1,如果脚本开启了set -e,那边会导致脚本退出

解决

如果环境监测正常,在后面用echo输出一句话即可

[[ ! -f hosts ]] && echo "ERROR:hosts Not Found" && exit 1
echo "INFO:Check_Env Is Ok"
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/anqixiang/article/details/111598067

智能推荐

java怎么加注解_JavaAgent技术之添加注解_SME情报员的博客-程序员秘密

什么是JavaAgent(Java探针)?你可以理解为Java版AOP。只不过这个AOP项目启动时运行一次JavaAgent 只在项目启动时运行一次并且是java文件编译成class文件后才运行。所以不会影响到class文件。JavaAgent 是寄生项目。即需要依赖一个正常项目才能运行我这里演示使用 IDE 为 IDEA ,项目为maven普通项目结构,可以很方便的帮助我们创建一个 JavaAg...

数字水印实验2 基于LSB和EMD的信息隐藏实验_function my1() clc;clear; i=imread('lena.bmp'); fi_一半西瓜的博客-程序员秘密

【实验名称】基于LSB和EMD的信息隐藏实验 【实验目的】1、学习并掌握图像信息隐藏的基本原理和方法2、学习并实现基于LSB的信息隐藏和提取算法3、学习并实现基于EMD的信息隐藏和提取算法【实验原理】1、LSB算法是最早提出的一种典型的空间域信息隐藏算法。它使用特定的密钥通过伪随机序列发生器产生随机信号,然后按一定的规则排列成二维水印信号,并逐一插到原始...

html data i18n属性,前端系列——jquery.i18n.properties前端国际化解决方案“填坑日记”..._牡丹一抹红的博客-程序员秘密

阅读目录一、jquery.i18n.properties通用解决方案1、需要引用的js文件2、html文件和国际化组件的初始化3、资源文件准备二、坑一:配置IIS对.properties文件的支持三、坑二:使用html的data属性初始化国际化内容四、坑三:第三方组件的国际化(一)五、坑四:第三方组件的国际化(二)六、总结正文前言:最近,新的平台还没有开发完成,原来的老项目又提出了新的需求:系统国...

spring-boot-starter-redis和spring-boot-starter-data-redis的依赖的区别_weixin_43082983的博客-程序员秘密

spring-boot-starter-redis 1.4.1.RELEASE版本 &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-redis&lt;/artifactId&gt; &lt;version&gt;1.4.1.RELEASE&.

mybatis-plus与tk.mybatis对比参考_mybatis-plus mapper比较_小野猪佩奇的博客-程序员秘密

tk.mybatis mybatis-plus:service接口 mybatis-plus:mapper接口 查询 T selectByPrimaryKey T getById T selectById int selectCount int count Integer selectCount List&lt;T&gt; selectByExample ...

随便推点

ES6 模块化的介绍和使用_李公子丶的博客-程序员秘密

S6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。CommonJS 和 AMD 模块,都只能在运行时确定这些东西。ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。// ES6模块import { stat, exists, readFile } from 'fs';上面代码的实质是从fs模块加载 3 个方法,其他方法不加载。这种加载称为“编译时加载”或者静态加载,即 ES6 可以在编译时就完成模块加载,效

ORA-03113: 通信通道的文件结束 ORA-24324: 未初始化服务句柄 ORA-01041: 内部错误, hostdef 扩展名不存在_plsql修改密码先报错ora03113后报错ora01041_zhangzhi133的博客-程序员秘密

环境:win7+oracle11g情景:登录OEM失败:检查过oracle服务都是开启状态,回到命令行,尝试重新启动oracle,如下图:又尝试重新配置网络,测试不成功:报错:.ORA-01034: ORACLE not availableORA-27101: sharedmemory realm does not exist;百度到以下方式,尝试后,还是报ORA-03113: 通信通道的文件结尾...

【简单的小技巧】如何从网页上下载内嵌的PDF文件?_网页内嵌pdf提取_诺亚方包的博客-程序员秘密

前言最近参加了百度的深度学习训练营,但是发现百度官方不提供其网页内嵌PDF文件的下载,所以我就给大家提供一个办法,用来下载这类网页内嵌的PDF文件。目录前言开始1. 打开开发者工具2. 选中Network栏目后再选择XHR3. Ctrl+R(刷新)4. 在新标签页中打开该文件即可获取下载链接开始1. 打开开发者工具我以谷歌浏览器为例,其他浏览器也是一样操作。下图中就有一个内嵌的《卷积神经网络》PDF文件 ????2. 选中Network栏目后再选择XHR此时可以看到XHR中是没有任何东西

既可生成点云又可生成网格的超网络方法 ICML_3D视觉工坊的博客-程序员秘密

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达本文发表在 ICML 2020 中,题目是Hypernetwork approach to generating point clo...

css3解决 html移动端浏览器横屏、竖屏样式问题_css字体移动端横过来怎么办_yanzi920403的博客-程序员秘密

移动端横屏和竖屏展示的样式有很大差别,开发人员需要在客户切换时调整展示样式。一般的移动端浏览器都支持css3,这里我就用css3的方案来解决横竖屏的问题。 举个栗子:&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;&amp;lt;meta name=&quot;viewport&quot; cont

SPEC峰会首次落地中国,全球首个云计算测试基准在京发布_weixin_34203426的博客-程序员秘密

10月27日, SPEC 2016亚洲峰会(SPEC 2016 Asia Summit)在北京隆重召开。SPEC 2016亚洲峰会由SPEC(Standard Performance Evaluation Corporation,标准性能评估组织)主办。SPEC峰会首次落地亚洲,大会以“发现真实的计算效率”为主题,有来自全球200多位企业级IT专家和学...

推荐文章

热门文章

相关标签