linux.sh文件 -z,详解shell脚本[] [[]] -n -z 的含义解析

news/2025/2/9 4:10:45/

在写脚本的时候,总是搞不懂[] [[]]的区别,这次写一个总结,把它掌握牢固

[]和test

两者是一样的,在命令行里test expr和[ expr ]的效果相同。

test的三个基本作用是判断文件、判断字符串、判断整数。支持使用 ”与或非“ 将表达式连接起来。

test中可用的比较运算符只有==和!=,两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq, -gt这种形式。

无论是字符串比较还是整数比较都千万不要使用大于号小于号。当然,如果你实在想用也是可以的,对于字符串比较可以使用尖括号的转义形式, 如果比较"ab"和"bc":[ ab \< bc ],结果为真,也就是返回状态为0.

[[ ]]

这是内置在shell中的一个命令,它就比刚才说的test强大的多了。支持字符串的模式匹配(使用=~操作符时甚至支持shell的正则表达 式)。逻辑组合可以不使用test的-a,-o而使用&& ||。

字符串比较时可以把右边的作为一个模式(这是右边的字符串不加双引号的情况下。如果右边的字符串加了双引号,则认为是一个文本字符串。),而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。

注意:使用[]和[[]]的时候不要吝啬空格,每一项两边都要有空格,[[ 1 == 2 ]]的结果为“假”,但[[ 1==2 ]]的结果为“真”!

1. 首先,尽管很相似,但是从概念上讲,二者是不同层次的东西。


http://www.ppmy.cn/news/560186.html

相关文章

html z-index 设置无效,css z-index属性不起作用的原因及解决方法

在CSS中,只能通过代码改变层级,这个属性就是z-index,要让z-index起作用有个小小前提,就是元素的position属性要是relative,absolute或是fixed。 1.第一种情况(z-index无论设置多高都不起作用情况): 这种情况发生的条件有三个: 1、父标签 position属性为relative; 2、问…

Zint生成二维码及png操作

环境搭建点击查看编译demo ubuntu下使用编译 连接动态库编译 gcc -o demo demo.c zint_code.c -lzint 连接静态库编译 gcc -o demo demo.c zint_code.c -static -L. -lzint -lpng16 -lz -lm arm-linux下使用编译 a、把交叉编译链中的libz.a、libm.a拷贝到demo中 b、执行编译命…

z-index的理解

一、基本概念 z-index 属性是设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序 较低的元素的前面。 元素可拥有负的 z-index 属性值。 Z-index 仅能在定位元素上奏效&#xff08;例如 position:absolute;&#xff09;。 该属性设置一个定位元素沿 z 轴的位置&a…

GIS坐标中的Z值和M值

在ArcGIS中&#xff0c;我们常用的几何类型有点、线、面、体&#xff08;体&#xff0c;在涉及三维的情况下使用&#xff09;&#xff0c;但在这之外&#xff0c;可能会遇到带ZM的类型&#xff0c;如图所示&#xff0c;面ZM&#xff0c;它与面类似&#xff0c;但比面多两个字段…

STM32F407ZGT6最小系统原理图和PCB

目录 一、原理图 二、PCB 三、3D图 资料下载地址&#xff1a;STM32F407ZGT6最小系统原理图和PCB 一、原理图 二、PCB 三、3D图

linux解压7z文件,linux 中解压7z文件

linux 中解压7z文件 更新时间:2017-03-26 00:13:50 linux 解压、解压7z文件方法 安装7z源[root@VM_18_10_centos ~]# sudo yum install p7zip p7zip-plugins Loaded plugins: fastestmirror, security Setting up Install Process Loading mirror speeds from cached hostfile…

C语言 z的意思,C语言中z= x是什么意思

x>=y>=z c语言 z>=y>=x;的意思是先求z>=y的值也就是4>=4;这个结果是真,也就是1然后求1>=x也就是1>=3,结果是假.就是0只要x>1,那么无论y和z是什么值,结果都是0,因为z>=y不是0就是1 c语言中x++-y+(++z)怎么写 u=x++-y+(++z)分解成:z=z+1;u=x-y+zx…

matlab z统计量,z统计量(z统计量与t统计量)

,t值和P值都用来判断统计上是否显著的指标。p值就是拒绝原假设的最小alpha值嘛,把统计量写出来,带进去算出来之后,根据统计量的分布来算p值啊,举个例子,比如. 问一个题目,怎么分辨统计量用哪个的。为什么!!!从某大学本科毕业生随. 很简单,就是如果知道总体方差的话就…